TF-IDF

机器学习:生动理解TF-IDF算法

使用方法:

读取分过词的文本到一个可迭代的容器中


加载模块并使用


text_features就是得到的TF-IDF矩阵,是一个稀疏矩阵


查看词典中的词

字典和TF-IDF矩阵的对应关系

字典vectorizer.vocabulary_中每一个词对应 TF-IDF矩阵中的一列,text中的每个句子对应text_features的一行

因为text_features是一个稀疏矩阵,不能像二维数组那样直接通过索引访问元素(可以用text_featurs.toarray()转换为数组, 不过会占用很多内存)


也可以使用 text_features.getcol(index) 或 text_features.getrow(index)获取某列或某行的值

text,text_features, vectorizer.vocabulary关系分析



从这张图片可以看出,对于每个句子,会在text_features中有一行。每个词会占据text_features的一列。text_features的第i行表示,text中第i个句子中的每个词的TF-IDF值

通过对比上图发现,同一个词在不同句子中的TF-IDF值是不同的,是L2归一化的缘故,详见4.2. 特征提取 — scikit-learn 0.19.0 中文文档 - ApacheCN

取某一行中某个元素的值

不进行归一化时,同一个词在不同句子中的 TF-IDF值是相同的


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容