使用SciKi的python文档聚类

2024-09-28 17:15:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近开始使用python中的SciKit模块进行文档集群。然而,我很难理解文档聚类的基础知识。

我知道什么?

  • 文档聚类通常使用TF/IDF完成。基本上 将文档中的单词转换为向量空间模型 然后输入算法。
  • 有许多算法,如k-均值,神经网络,层次 集群来实现这一点。

我的数据:

  • 我正在试验linkedin的数据,每个文档都是 linkedin简介摘要,我想看看类似的工作 文档聚在一起。

当前的挑战:

  • 我的数据有大量的摘要描述,最后变成了10000 当我使用TF/IDF时。有什么合适的方法来处理这个问题吗 高维数据。
  • K-means和其他算法要求我指定集群的数量 (质心),我不知道星团的数目 前面。我相信这是一个完全没有监督的学习。是 有哪些算法可以确定集群的数量?
  • 如果你知道的话,我以前从未使用过文档聚类 关于这个问题的教程、教科书或文章,请 请随意提出建议。

我在SciKit的网页上浏览了代码,它包含了太多我不懂的技术词汇,如果你们有任何代码有很好的解释或评论请分享。提前谢谢。


Tags: 模块数据代码文档算法数量tf集群
3条回答

My data has huge summary descriptions, which end up becoming 10000's of words when I apply TF/IDF. Is there any proper way to handle this high dimensional data.

我的第一个建议是,除非绝对必须这样做,否则就不要这样做,因为内存或执行时间问题。

如果必须处理它,则应该使用降维(例如PCA)或feature selection(对于您的情况,可能更好,请参见chi2

K - means and other algorithms requires I specify the no. of clusters ( centroids ), in my case I do not know the number of clusters upfront. This I believe is a completely unsupervised learning. Are there algorithms which can determine the no. of clusters themselves?

如果您查看the clustering algorithms available in scikit-learn,您会发现并不是所有的集群都要求您指定集群的数量。

另一个没有的是层次聚类,implemented in scipy。另请参见this answer

我还建议您使用KMeans并尝试手动调整集群的数量,直到您对结果满意为止。

I've never worked with document clustering before, if you are aware of tutorials , textbooks or articles which address this issue, please feel free to suggest.

Scikit有很多使用文本数据的教程,只需在他们的站点上使用“文本数据”搜索查询。一个是给KMeans的,另一个是监督学习的,但我建议你也复习一下,以便更熟悉图书馆。在我看来,从代码、样式和语法POV来看,无监督和有监督的学习在scikit学习中是非常相似的。

Document clustering is typically done using TF/IDF. Which essentially converts the words in the documents to vector space model which is then input to the algorithm.

这里的小更正是:TF-IDF与集群无关。它只是一种将文本数据转换为数值数据的方法。它不关心你以后如何处理这些数据(聚类、分类、回归、搜索引擎等等)。

我理解您试图传达的信息,但是说“集群是使用TF-IDF完成的”是不正确的。它是使用聚类算法完成的,TF-IDF只在文档聚类中起到预处理的作用。

这个链接可能有用。它用可视化输出为http://brandonrose.org/clustering提供了大量的解释

  1. 对于TF/IDF变换后的大矩阵,考虑使用稀疏矩阵。
  2. 你可以尝试不同的k值。我不是无监督聚类算法的专家,但我敢打赌,有了这样的算法和不同的参数,你也可以得到不同数量的聚类。

相关问题 更多 >