繁体   English   中英

在公告表中查找tf-idf值

[英]Finding tf-idf values in a announcement table

我想对公告进行分析。我必须计算'tf'和'idf'值。 但我认为这些价值观并不现实。 代码有问题吗?

“阻止”线是公告。 第一个公告是'kurskayıttarihprogragirişçıkışsaat'

tf1 = (train['stemming'][0:1]).apply(lambda x: pd.value_counts(x.split(" "))).sum(axis = 0).reset_index()  #Term frequency
tf1.columns = ['words','tf']

for i,word in enumerate(tf1['words']):    #Inverse Document Frequency
  tf1.loc[i, 'idf'] = np.log(train.shape[0]/(len(train[train['stemming'].str.contains(word)])))

tf1['tf-idf'] = tf1['tf'] * tf1['idf'] # 3.4 Term Frequency – Inverse Document Frequency (TF-IDF)

对于第一个单词(kurs),根据TF(t)=(术语t出现在文档中的次数)/(文档中的术语总数 ),tf值必须是1/7 但结果就是这样

问题在于,当你计算tf时,你只计算每个单词的出现次数。 您需要将该值除以不同单词的总数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM