gpt4 book ai didi

python - K-means算法的种子值如何放置?

转载 作者:行者123 更新时间:2023-11-30 09:49:48 26 4
gpt4 key购买 nike

我正在尝试根据特定的给定数据集对客户进行分组,其中包含出生日期、性别、州、pincode、transaction_id、promocode 等属性。

每次运行该算法时,聚类的轮廓分数与前一次都会有巨大差异,即结果不一致。这可能是因为数据集的随机种子。这是将属性传递给算法的行。

km1 = KMeans(n_clusters=6, n_init=25, max_iter = 600)

是否有任何方法来分配集群或优化,以便每次运行程序后,分数都一致且更好?

我正在使用 Python 3 和 scikit-learn。

最佳答案

看起来(我猜)你正在使用 scikit-learn .

在这种情况下,只需使用:

km1 = KMeans(n_clusters=6, n_init=25, max_iter = 600, random_state=MYSEED)

其中 MYSEED 可以是整数、RandomState 对象或 None(默认),如上面链接中所述。

这意味着:

km1 = KMeans(n_clusters=6, n_init=25, max_iter = 600, random_state=0)

正在引发确定性结果。

备注:这只影响 k-means 随机性质。如果您对数据进行了一些分割/CV,则也必须使这些操作具有确定性!

关于python - K-means算法的种子值如何放置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47207361/

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