如何计算收敛期间sklearn中的簇异质性? 聚类异质性由每个采样点相对于指定聚类的欧几里德距离的总和给出。这为每一步提供了不同的价值。sklearn中的k-means簇异质性
-1
A
回答
3
对于最终k均值模型的群集异质性,您可以执行以下操作。
首先创建模型并将其适用于某些数据(在我的示例中,我使用了sklearn使blob创建3个数据点)。
import numpy as np
from sklearn.cluster import KMeans
from sklearn.metrics.pairwise import pairwise_distances_argmin, euclidean_distances
from sklearn.datasets.samples_generator import make_blobs
np.random.seed(0)
batch_size = 45
centers = [[1, 1], [-1, -1], [1, -1]]
X, labels_true = make_blobs(n_samples=3000, centers=centers, cluster_std=0.7)
k_means = KMeans(init='k-means++', n_clusters=3, n_init=10)
k_means.fit(X)
模型拟合后,我们需要有所有聚类的质心。为此,你可以使用它。
k_means_cluster_centers = k_means.cluster_centers_
然后我们需要知道X中的所有数据点属于哪个簇。为此,您可以使用pairwise_distances_argmin
该函数返回集群的任何一组点作为其最接近的质心。
k_means_labels = pairwise_distances_argmin(X, k_means_cluster_centers)
然后你需要计算所有集群的异质性。为此,我们需要以下for循环和euclidean_distances
函数。 euclidean_distances
计算点之间的欧氏距离。
for i,j in enumerate(set(k_means_labels)):
positions=X[np.where(k_means_labels == i)]
output=sum(euclidean_distances(positions,k_means_cluster_centers[j].reshape(1,-1)))
print('cluster {} has a heterogeneity of {}'.format(i,output))
在这个循环中我们得到了属于集群X的所有值。计算所有点到该群集质心的欧氏距离。拿出总和并打印输出。
对于我的例子,输出是这样的。
cluster 0 has a heterogeneity of [ 754.20784445]
cluster 1 has a heterogeneity of [ 852.41305495]
cluster 2 has a heterogeneity of [ 843.7821897]
据我所知,你只能得到异质比分你的模型与sklearn实施入时装配模型,而不是之后。
+0
最后我发现它是sklearn的限制。 Graphlab是我所知道的唯一允许您在计算过程中绘制异质性的图表。 – NunodeSousa
相关问题
- 1. sklearn中的可重现kmeans
- 2. KMeans.cluster_centers_在sklearn KMeans中的值
- 3. Sklearn:每个簇的质心的平均距离
- 4. 在Matlab中kmeans的质心
- 5. Sklearn:找到簇的平均质心位置?
- 6. Sklearn Kmeans参数混淆?
- 7. DBSCAN集群簇(sklearn python)
- 8. 不含kmeans的质心matlab
- 9. opencv kmeans聚簇多个垫子
- 10. 使用sklearn KMeans与SciPy kmeans相比有优势吗?
- 11. 在MATLAB中对kmeans中的簇数进行排序
- 12. 从OpenCV中的kmeans数据创建聚簇图像
- 13. kmeans分类到预定的质心
- 14. 在像素簇中查找质心
- 15. Kmeans matlab“在第1次迭代中创建空簇”错误
- 16. matlab中kmeans的质心计算中的错误
- 17. 加入邻居簇质心Matlab
- 18. 寻找哪一行被分配到哪个簇 - kmeans聚类Matlab
- 19. 为什么使用Sklearn将错误的簇投影到PCA上?
- 20. 处理Protractor.js的异步性质
- 21. Grails的奇特性质异常
- 22. 如何处理javascript的异步性质?
- 23. 有效的查询来定位postgis中簇的质心?
- 24. 分析簇均匀性并使用RapidMiner中的簇距离性能算子
- 25. 三维稀疏矩阵中簇的质心
- 26. 查找矩阵/位图中的质量簇
- 27. 检索K-Mean Java程序中每个簇的质心位置
- 28. 找出k-均值聚类中簇的质心坐标
- 29. k = 2的Kmeans算法给出了相等的簇大小输出
- 30. sklearn randomforest准确性
请指出你已经尝试了什么以及为什么没有解决你的问题 –