关注
找到一份通过的代码,你们看看 #!/usr/bin/env python
import math
import random
import sys
class Solution2(object):
def tfidf(self, line, idf):
tf = {}
tfidf = []
data = []
words = line.split(",")
length = len(words)
for word in words:
tf[word] = tf.get(word, 0) + 1 / length
for word in words:
tfidf.append(str(round(tf.get(word) * idf.get(word), 2)))
data.append("tf:%s,idf:%s" % (tf.get(word), idf.get(word)))
return (tfidf)
def getWordDocs(self, docs):
N = len(docs)
idf = {}
for doc in docs:
words = set(doc.split(","))
for word in words:
idf[word] = idf.get(word, 0) + 1
for (k, v) in idf.items():
idf[k] = round(math.log(N / v, 2), 2)
return idf
if __name__ == "__main__":
solution2 = Solution2()
n = int(sys.stdin.readline().strip())
dd = []
for i in range(0, n):
dd.append(sys.stdin.readline().strip())
idf = solution2.getWordDocs(dd)
for item in dd:
tfidf = solution2.tfidf(item, idf)
print(",".join(tfidf))
查看原帖
点赞 3
相关推荐
11-08 00:11
复旦大学 深度学习 点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
332585次浏览 3145人参与
# 上班苦还是上学苦呢? #
74052次浏览 658人参与
# 阿里云管培生offer #
37453次浏览 424人参与
# 地方国企笔面经互助 #
4592次浏览 12人参与
# 如果有时光机,你最想去到哪个年纪? #
22206次浏览 421人参与
# 选完offer后,你后悔学本专业吗 #
22107次浏览 159人参与
# 百度开奖 #
186621次浏览 1170人参与
# 我的实习求职记录 #
6073992次浏览 83556人参与
# 如何一边实习一边秋招 #
997599次浏览 12669人参与
# 找工作时遇到的神仙HR #
553911次浏览 3803人参与
# 入职第一天,你准备什么时候下班 #
21692次浏览 144人参与
# 招聘要求与实际实习内容不符怎么办 #
10836次浏览 277人参与
# bilibili求职进展汇总 #
33387次浏览 358人参与
# 许愿池 #
214992次浏览 2535人参与
# 学历or实习经历,哪个更重要 #
54161次浏览 425人参与
# 你今年的平均薪资是多少? #
71150次浏览 345人参与
# 实习工作,你找得还顺利吗? #
248108次浏览 2915人参与
# 通信硬件薪资爆料 #
610033次浏览 5198人参与
# 海康威视求职进展汇总 #
401060次浏览 3408人参与
# 携程求职进展汇总 #
135983次浏览 932人参与
# 正在实习的你,几点下班 #
53498次浏览 396人参与
# 工作两年想退休了 #
53168次浏览 673人参与