Python 三维矩阵上的K-均值

Python 三维矩阵上的K-均值,python,machine-learning,scikit-learn,k-means,Python,Machine Learning,Scikit Learn,K Means,我目前正在学习k-means,并想在3D矩阵上尝试它,这是我传递2D矩阵的链接 from sklearn.cluster import KMeans import numpy as np X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]) kmeans = KMeans(n_clusters=2, random_state=0).fit(X) kmeans.labels_ array([1,

我目前正在学习k-means,并想在3D矩阵上尝试它,这是我传递2D矩阵的链接

from sklearn.cluster import KMeans
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0],
            [10, 2], [10, 4], [10, 0]])
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
kmeans.labels_
array([1, 1, 1, 0, 0, 0], dtype=int32)
kmeans.predict([[0, 0], [12, 3]])
array([1, 0], dtype=int32)
kmeans.cluster_centers_
array([[10.,  2.],
       [ 1.,  2.]])
但是当你尝试的时候但是当你尝试的时候

x = [[[10, 20, 30], [40, 50, 60]], [[1, 2, 3], [4, 5, 6]]]
kmeans = KMeans(n_clusters=2, random_state=0).fit(x)
错误为

ValueError:找到具有dim 3的数组。预计估计员如文件中所述,
fit
方法预计:

X:类似数组或稀疏矩阵,形状=(n个样本,n个特征)


i、 e一个2D形状的数组,其中每行是一个样本,列是每个样本的特征。因此它无法处理3D数据点。

Hi@user730119别忘了你可以投票/接受答案,请参阅