以下是一个示例代码,展示如何按照簇生成的分组方式进行分组:
from sklearn.cluster import KMeans
import numpy as np
# 创建一个示例数据集
data = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
# 使用KMeans算法进行聚类
kmeans = KMeans(n_clusters=2)
kmeans.fit(data)
# 获取每个样本的簇索引
labels = kmeans.labels_
# 按照簇生成分组
groups = {}
for i, label in enumerate(labels):
if label not in groups:
groups[label] = []
groups[label].append(data[i])
# 打印分组结果
for label, group in groups.items():
print(f"Group {label}: {group}")
输出结果:
Group 0: [array([1, 2]), array([1, 4]), array([1, 0])]
Group 1: [array([4, 2]), array([4, 4]), array([4, 0])]
这个示例中,首先创建了一个示例数据集data
,然后使用KMeans算法对其进行聚类,将其分成了两个簇。接着,通过获取每个样本的簇索引,将样本按照簇生成分组。最后,打印了分组结果。