是否可以使用scikit-learn K-Means聚类指定自己的距离函数?

是否可以使用scikit-learn K-Means聚类指定自己的距离函数?



弑天下
浏览 2631回答 3
3回答

慕虎7371278

不幸的是,没有:scikit-learn当前的k-means实现仅使用欧几里得距离。将k均值扩展到其他距离并非易事,并且denis的上述回答并不是为其他度量实施k均值的正确方法。

白衣非少年

只需使用nltk即可,例如from nltk.cluster.kmeans import KMeansClustererNUM_CLUSTERS = <choose a value>data = <sparse matrix that you would normally give to scikit>.toarray()kclusterer = KMeansClusterer(NUM_CLUSTERS, distance=nltk.cluster.util.cosine_distance, repeats=25)assigned_clusters = kclusterer.cluster(data, assign_clusters=True)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python