怎么用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)