赞
踩
我这里使用了一个简单的数据集帮助大家理解TF-IDF的计算(如下)。数据集为自定义的corpus,一共有四段文本,每一段都比较少来帮助理解计算逻辑。
import numpy as np import pandas as pd from sklearn.feature_extraction.text import TfidfTransformer from sklearn.feature_extraction.text import CountVectorizer corpus = [ '原子弹 芒果 应用', '芒果 应用', '原子弹 应用', '应用'] vectorizer = CountVectorizer() transformer = TfidfTransformer() X = vectorizer.fit_transform(corpus) tfidf = transformer.fit_transform(X) word = vectorizer.get_feature_names() weight = tfidf.toarray() for i in range(len(weight)): print("-------第", i+1, "段文本的词语tf-idf权重------") for j in range(len(word)): print(word[j], weight[i][j])
计算接结果为:
-------第 1 段文本的词语tf-idf权重------ 原子弹 0.640434054078 应用 0.423896738316 芒果 0.640434054078 -------第 2 段文本的词语tf-idf权重------ 原子弹 0.0 应用 0.551939416352 芒果 0.833884212992 -------第 3 段文本的词语tf-idf权重------ 原子弹 0.833884212992 应用 0.551939416352 芒果 0.0 -------第 4 段文本的词语tf-idf权重------ 原子弹 0.0 应用 1.0 芒果 0.0
下面我们将使用一个具体的数据集来实现IF-IDF模型。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。