如何在python中使用k-prototype找到最佳簇数

时间:2018-03-08 06:22:04

标签: python cluster-analysis

我正在尝试使用k-prototypes算法聚类一些大数据。我无法使用K-Means算法,因为我有分类和数字数据。通过k原型聚类方法,如果我定义了我想要的k值,我就能够创建聚类。

如何为此找到适当数量的群集。

对于混合数据,只有数值数据的流行方法(如肘法和轮廓分数法)是否适用?

3 个答案:

答案 0 :(得分:0)

大多数评估方法都需要距离矩阵。

然后,只要你有一个有助于解决问题的距离函数,他们就会使用混合数据。但它们的可扩展性不高。

答案 1 :(得分:0)

是的肘部方法足以获得簇数。因为它基于总和的平方。

答案 2 :(得分:0)

您可以使用以下代码:

#Choosing optimal K
cost = []
for num_clusters in list(range(1,8)):
    kproto = KPrototypes(n_clusters=num_clusters, init='Cao')
    kproto.fit_predict(Data, categorical=[0,1,2,3,4,5,6,7,8,9])
    cost.append(kproto.cost_)

plt.plot(cost)

来源:https://github.com/aryancodify/Clustering