kmeans = KMeans(n_clusters=self.m) x0 = [[i] for i in np.zeros((1, self.n))] kmeans.fit(x0) centroids = kmeans.cluster_centers_.flatten()出现Found array with dim 3. KMeans expected <= 2.怎么修正
时间: 2024-02-17 22:05:02 浏览: 85
KMeans 算法
这个错误提示表明`x0`数组的维度为3,而KMeans算法只接受维度不超过2的数据。可以通过将`x0`数组展平为1维数组来解决这个问题,即将`x0`定义为`[i for i in np.zeros(self.n)]`。修正后的代码如下所示:
```
kmeans = KMeans(n_clusters=self.m)
x0 = [i for i in np.zeros(self.n)]
kmeans.fit([x0])
centroids = kmeans.cluster_centers_.flatten()
```
这里需要将`x0`传递给`fit()`函数时,用`[x0]`将其转化为一个二维数组传递给函数,以符合函数的参数要求。
阅读全文