规范化数据以在Kmeans中使用余弦距离(Python)

时间:2017-08-20 07:45:40

标签: python k-means euclidean-distance cosine-similarity normalize

我目前正在解决一个问题,我必须使用余弦距离作为Kmeans聚类的相似性度量。但是,标准的Kmeans聚类包(来自Sklearn包)使用欧几里德距离作为标准,并且不允许您更改它。

因此我的理解是通过以下代码规范化我的原始数据集。然后我可以运行kmeans包(使用欧几里德距离),就像我将距离度量更改为余弦距离一样?

from sklearn import preprocessing  # to normalise existing X
X_Norm = preprocessing.normalize(X)

km2 = cluster.KMeans(n_clusters=5,init='random').fit(X_Norm)

如果我对此的数学理解不正确,请告诉我?

0 个答案:

没有答案