我正在尝试使用k-prototypes算法聚类一些大数据。我无法使用K-Means算法,因为我有分类和数字数据。通过k原型聚类方法,如果我定义了我想要的k值,我就能够创建聚类。
如何为此找到适当数量的群集。
对于混合数据,只有数值数据的流行方法(如肘法和轮廓分数法)是否适用?
答案 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)