传统的非监督学习方法通常需要在计算之前分配聚类(K)的数量,但是如果我不知道K的确切数量并将k排除在算法之外该怎么办,我的意思是,是否有任何非监督学习算法不需要分配任何k,因此我们可以自动获得k聚类?
答案 0 :(得分:0)
有关更多详细信息,请查看scikit-learn文档here。
答案 1 :(得分:0)
您可以尝试使用Akaike information criterion或Bayes information criterion通过Silhouette,Elbow等指标来推断集群数量。我还听说过有人谈论基于自组织地图(SOM)的自动聚类方法,但是您必须在那做自己的研究。
根据我的经验,它通常可以归结为使用多种方法(例如t-SNE和/或基于密度的方法(例如DBSCAN)来探索数据,然后手动设置k或使用适当的启发式方法。
答案 2 :(得分:0)
图的理论中有一个hierarchical clustering。您可以自下而上或自上而下实现集群。
自下而上
有三种选择最接近的集群的方法:
单链接聚类可以使用Kruskalov最小生成树算法来解决,但是尽管易于理解,但它可以在O(n ^ 3)中运行。 MST的Prim算法有所不同,可以在O(nˇ2)中解决。
自上而下的差异分析 从同一群集中的所有点开始,并在每次迭代中划分群集。
您还可以使用Google的其他聚类算法,其中一些已经在其他答案中提到。我没有用过别人,所以我会把它排除在外。