【发布时间】:2017-10-10 12:22:45
【问题描述】:
我试过 CountVectorizer + KMeans 但我不知道集群的数量。当我使用gap statistic 方法时,计算 KMeans 中的簇数花费了很多时间。 NMF 也需要事先确定组件的数量。
【问题讨论】:
标签: python k-means text-classification unsupervised-learning
我试过 CountVectorizer + KMeans 但我不知道集群的数量。当我使用gap statistic 方法时,计算 KMeans 中的簇数花费了很多时间。 NMF 也需要事先确定组件的数量。
【问题讨论】:
标签: python k-means text-classification unsupervised-learning
没有一种算法最适合无监督文本分类。这取决于您拥有的数据、您想要实现的目标等。
如果您想避免聚类数量问题,可以尝试DBSCAN,这是一种基于密度的聚类算法:
Wikipedia: 上的 DBSCAN 基于密度的聚类算法:给定某个空间中的一组点,它将紧密堆积在一起的点(具有许多附近邻居的点)组合在一起,将单独位于低密度区域中的点标记为异常值(其最近的邻居是太远了)。
DBSCAN 通过递归地将点连接到附近的密集点组(例如一个集群)来自动查找集群的数量。
要使用 DBSCAN,要调整的最重要参数是 epsilon(控制被视为邻居的最大距离)和 min_samples(被视为核心点的邻域中的样本数)。尝试从 sklearn 提供的默认参数开始,并调整它们以获得更好的特定任务结果。
【讨论】: