当前位置: 首页 > 面试题库 >

具有选定初始中心的k均值

卫振
2023-03-14
问题内容

我正在尝试使用选定的初始质心进行k均值聚类。它说在这里 指定您的初始中心:

init : {‘k-means++’, ‘random’ or an ndarray}

如果ndarray通过,它应该是形状(的n_clustersn_features)并给出初始中心。

我在Python中的代码:

X = np.array([[-19.07480000,  -8.536],
              [22.010800000,-10.9737],
              [12.659700000,19.2601]], np.float64)
km = KMeans(n_clusters=3,init=X).fit(data)
# print km
centers = km.cluster_centers_
print centers

返回错误:

RuntimeWarning: Explicit initial center position passed: performing only one init in k-means instead of n_init=10
  n_jobs=self.n_jobs)

并返回相同的初始中心。任何想法如何形成初始中心以便可以被接受吗?


问题答案:

的默认行为KMeans是使用不同的随机质心多次初始化算法(即Forgy方法)。然后,随机初始化的数量由n_init=参数(docs)控制:

n_init :int,默认值:10

k均值算法将在不同质心种子下运行的次数。n_init就惯性而言,最终结果将是连续运行的最佳输出 。

如果将数组作为init=参数传递,则仅使用数组中显式指定的质心执行 一次
初始化。之所以得到a是RuntimeWarning因为仍在传递默认值n_init=10(这是源代码的相关行)。

实际上,完全可以忽略此警告,但是n_init=1如果init=参数是数组,则可以通过传递使其完全消失。



 类似资料:
  • 本文向大家介绍k-means除了随机选择初始质心,还有什么方法?相关面试题,主要包含被问及k-means除了随机选择初始质心,还有什么方法?时的应答技巧和注意事项,需要的朋友参考一下 多次运行,每次使用一组不同的初始质心,计算平方误差,选择最小的作为初始质心 使用层次聚类,找到k个簇的质心,以这个质心作为初始质心 先随机选择一个初始质心,然后找到后继质心,即找到距离这个质心最远的点作为新的质心,这

  • OpenCV中的K-Means聚类 作者|OpenCV-Python Tutorials 编译|Vincent 来源|OpenCV-Python Tutorials 目标 了解如何在OpenCV中使用cv.kmeans()函数进行数据聚类 理解参数 输入参数 sample:它应该是np.float32数据类型,并且每个功能都应该放在单个列中。 nclusters(K):结束条件所需的簇数 crit

  • 我已经实现了一个函数,在运行K-Means聚类算法后,找到距离每个质心最近的数据点。我想知道是否有一个函数可以让我找到距离每个质心最近的M个点。

  • 我有一个数据帧,其中包含在不同时间点测量的几个变量(例如,< code>test1_tp1,< code>test1_tp2,< code>test1_tp3,< code>test2_tp1,< code>test2_tp2,...). 我现在尝试使用将新列添加到数据帧中,该数据帧计算这些列的选择上的行平均值(例如,)的所有时间点上的平均值)。 < li >我甚至对计算显式命名的列的平均值的语法

  • 我有一个Java程序,它将使用我从这里找到的K-Means算法将坐标聚类成2组。我已经成功地获得了每个组中的聚集元素,但是我不确定如何检索每个集群的形心位置。 这是我的节目: 有没有一种方法可以在聚类后检索质心位置?

  • 如何用初始值初始化可变实时数据?我正在寻找类似的东西: < code>val text = MutableLiveData