sklearn Kmeans聚类三维列表

怎么用sklearn库的kmeans聚类三维列表(列表中存放的是二维数组)?

将三维列表转换为二维数组。具体来说,可以将三维列表中的每个二维数组展开成一行,并将所有行组成一个大的二维数组。然后将这个二维数组作为输入数据,调用sklearn库中的KMeans函数进行聚类:

from sklearn.cluster import KMeans
import numpy as np

# 生成一个包含多个二维数组的三维列表
data = [[[1, 2], [3, 4], [5, 6]],
        [[2, 3], [4, 5], [6, 7]],
        [[3, 4], [5, 6], [7, 8]],
        [[4, 5], [6, 7], [8, 9]]]

# 将三维列表转换为二维数组
rows = []
for arr in data:
    rows.extend(arr)
X = np.array(rows)

# 使用KMeans算法进行聚类
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)

# 输出聚类结果
labels = kmeans.labels_
print(labels)