【问题标题】:What is meant by the term ‘random-state’ in 'KMeans' function in package 'sklearn.cluster' in pythonpython中包'sklearn.cluster'中'KMeans'函数中的术语'随机状态'是什么意思
【发布时间】:2018-02-16 22:10:48
【问题描述】:

python KMeans 函数中的“随机状态”是什么意思?我试图从 Google 中找出答案并转介 https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html,但我找不到准确的答案。

【问题讨论】:

标签: python cluster-analysis


【解决方案1】:

random_state : int,RandomState 实例或无,可选,默认值:无 如果是 int,则 random_state 是随机数生成器使用的种子;如果是 RandomState 实例,则 random_state 是随机数生成器;如果为 None,则随机数生成器是 np.random 使用的 RandomState 实例。

见:http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

【讨论】:

    【解决方案2】:

    请记住,KMeans 函数是随机的(即使您使用相同的输入值运行该函数,结果也可能会有所不同)。因此,为了使结果可重现,您可以为 random_state 参数指定一个值。

    【讨论】:

    【解决方案3】:

    k-means 算法的一个陷阱是它不是最优的。这意味着,它不确定找到最佳解决方案,因为问题不是凸的(用于优化)。

    您可能会陷入局部最小值,因此您的算法结果取决于您的初始化(质心)。为了找到一个好的最小值,一个好的做法是多次初始化并重新运行算法并保持最佳结果。

    正如其他人所说,random_state 使结果可重现,并可用于调试

    【讨论】:

      【解决方案4】:

      sklearn的Kmeans函数中的随机状态主要有助于

      1. 如果您使用 Kmeans++ 初始化质心,则从与质心相同的随机数据点开始。
      2. 如果使用随机初始化,则从与质心相同的 K 个随机数据点开始。

      当人们想要在稍后的某个时间点重现结果时,这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-08
        • 1970-01-01
        • 1970-01-01
        • 2011-09-26
        • 1970-01-01
        • 1970-01-01
        • 2020-01-31
        • 1970-01-01
        相关资源
        最近更新 更多