如何在sklearn中分析tfidf矩阵的值



我使用sklearn的KMeans算法进行文档聚类,如中所述http://brandonrose.org/clustering

以下是TFIDF矩阵的计算。我已经理解TFIDF技术背后的概念,但当我打印这个矩阵时,矩阵是这样的:

  (0, 11)   0.238317554822
  (0, 34)   0.355850989305
  (0, 7)    0.355850989305
  (0, 21)   0.238317554822
  (0, 16)   0.355850989305
  (0, 35)   0.355850989305
  (0, 8)    0.355850989305
  (0, 17)   0.355850989305
  (0, 36)   0.355850989305
  (1, 11)   0.238317554822
  (1, 21)   0.238317554822
  (1, 23)   0.355850989305
  (1, 0)    0.355850989305
  (1, 24)   0.355850989305
  (1, 12)   0.355850989305
  (1, 22)   0.355850989305
  (1, 25)   0.355850989305
  (1, 13)   0.355850989305
  (2, 2)    0.27430356415
  (2, 18)   0.339992197465
  (2, 26)   0.339992197465
  (2, 39)   0.339992197465
  (2, 3)    0.339992197465
  (2, 19)   0.339992197465
  (2, 27)   0.339992197465
  (2, 4)    0.339992197465
  (2, 20)   0.339992197465
  (3, 2)    0.27430356415
  (3, 40)   0.339992197465
  (3, 9)    0.339992197465
  (3, 1)    0.339992197465
  (3, 5)    0.339992197465
  (3, 41)   0.339992197465
  (3, 10)   0.339992197465
  (3, 6)    0.339992197465
  (3, 42)   0.339992197465
  (4, 11)   0.202877476983
  (4, 21)   0.202877476983
  (4, 28)   0.302932576437
  (4, 31)   0.302932576437
  (4, 37)   0.302932576437
  (4, 14)   0.302932576437
  (4, 29)   0.302932576437
  (4, 32)   0.302932576437
  (4, 38)   0.302932576437
  (4, 15)   0.302932576437
  (4, 30)   0.302932576437
  (4, 33)   0.302932576437

这个矩阵中的值代表什么?有人能帮助我理解这一点吗?

第一列包含元组(ind_document, ind_word),其中ind_document是数据集中包含的文档的索引(在本例中为string(,ind_wordTfidfVectorizer对象生成的词典中单词的索引。

第二列包含给定word的TF-IDF值(对应于(ind_document, ind_word).的单词


更新

如果您仔细观察这里TfidfVectorizer 的实现,您可以看到有一个名为norm的参数。默认情况下,此参数设置为l2,这是用于规范化所获得数据的L2范数。

如果您不想标准化数据并将其与手动获得的结果进行比较,请将此参数更改为norm = None

相关内容

  • 没有找到相关文章

最新更新