gpt4 book ai didi

python - 缩放数据会降低聚类的质量

转载 作者:太空宇宙 更新时间:2023-11-04 05:30:19 25 4
gpt4 key购买 nike

我遇到了一个奇怪的现象。我创建了一个只有两列数字的人工数据集:

enter image description here

如果我在上面运行 k-means 算法,我得到以下分区:

enter image description here

这看起来不错。现在,我使用 StandardScaler 缩放列并获得以下数据集:

enter image description here

但是如果我在上面运行 k-means 算法,我会得到以下分区:

enter image description here

现在,它看起来很糟糕。怎么会?建议在使用 k-means 之前缩放数值特征,所以我对这个结果感到非常惊讶。

这是显示分区的代码:

data = pd.read_csv("dataset_scaled.csv", sep = ",")
k_means = KMeans(n_clusters = 3)
k_means.fit(data)
partition = k_means.labels_ + 1
colors = ["red", "green", "blue"]
ax = None
for i in range(1, 4):
ax = d.iloc[partition == i].plot.scatter(x = 'a', y = 'b', color = colors[i - 1], legend = False, ax = ax)

最佳答案

因为您的跨集群方差全部在 X 中,而集群内方差主要在 Y 中,使用标准化技术会降低质量。所以不要假设“最佳实践”总是是最好的。

这是一个玩具示例,真实数据不会像这样。最有可能的是,标准化确实给出了更有意义的结果。

尽管如此,这很好地表明盲目地扩展数据,或者盲目地运行集群,都会产生良好的结果。您总是需要尝试不同的变体并研究它们。

关于python - 缩放数据会降低聚类的质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37326008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com