KMeans 错误有现实意义吗?
数据挖掘
机器学习
数据挖掘
k-均值
2022-02-24 16:47:06
2个回答
集群内方差是衡量给定集群中的点分布的量度。
在下图中,即使点数与上图相同,但点分布密集,因此具有较低的簇内方差。

K-means Error对此类单个集群方差的总和感兴趣。
假设对于给定的数据,如果聚类“A”形成第一张图像的聚类,聚类“B”形成第二张图像的聚类,则在大多数情况下,您将选择第二张图像。
虽然这并不意味着 K-means 误差是优化形成集群的完美目标。但它几乎抓住了集群背后的本质。
用于生成聚类图的代码 -
import numpy as np
from matplotlib import pyplot as plt
sparse_samples = np.random.multivariate_normal([0, 0], [[50000, 0], [0, 50000]], size=(1000))
plt.plot(sparse_samples[:, 0], sparse_samples[:, 1], 'b+')
axes = plt.gca()
axes.set_xlim(-1000, 1000)
axes.set_ylim(-1000, 1000)
plt.show()
dense_samples = np.random.multivariate_normal([0, 0], [[5000, 0], [0, 5000]], size=(1000))
plt.plot(dense_samples[:, 0], dense_samples[:, 1], 'r+')
axes = plt.gca()
axes.set_xlim(-1000, 1000)
axes.set_ylim(-1000, 1000)
plt.show()
在这两种情况下,都会对1000来自双变量正态分布的数据点进行 采样和绘制。在第二种情况下,更改协方差矩阵以绘制更密集的集群。np.random.multivariate_normal的文档可以在这里找到。希望这可以帮助!
k-Means 聚类中“误差”的含义是:如果将 k 个质心替换为实际观察值,您将获得多少差异/信息丢失。换句话说:k 质心对您的数据的近似程度如何。
有几种方法可以衡量这个“错误”。通常使用解释的方差百分比或误差的簇内总和,但选择是巨大的。甚至更平庸的欧几里得距离也可以工作。
其它你可能感兴趣的问题

