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

Cha*_*ika 3 python cluster-analysis

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

我如何为此找到合适的簇数?

仅使用数值数据的流行方法(例如肘法和轮廓评分法)是否适用于混合数据?

小智 7

您可以使用此代码:

#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)
Run Code Online (Sandbox Code Playgroud)

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