输出代码:随机创建不同二维数据集作为训练集,并结合k-means算法将其聚类
时间: 2024-01-11 13:02:00 浏览: 63
好的,下面是 Python 代码:
```python
import numpy as np
from sklearn.cluster import KMeans
# 生成随机二维数据集
def generate_data(num_samples, num_clusters):
X = []
y = []
for i in range(num_clusters):
center = np.random.rand(2) * 10
X_cluster = np.random.randn(num_samples, 2) + center
y_cluster = [i] * num_samples
X.extend(X_cluster)
y.extend(y_cluster)
return np.array(X), np.array(y)
# 聚类
def kmeans_clustering(X, num_clusters):
kmeans = KMeans(n_clusters=num_clusters)
kmeans.fit(X)
return kmeans.labels_
# 测试
X, y = generate_data(1000, 5)
labels = kmeans_clustering(X, 5)
print(labels)
```
这段代码首先定义了一个函数 `generate_data`,用于生成随机的二维数据集。其中 `num_samples` 表示每个簇中的样本数量,`num_clusters` 表示簇的数量。
然后定义了一个函数 `kmeans_clustering`,用于对数据进行聚类。其中 `X` 表示数据集,`num_clusters` 表示簇的数量。
最后在测试代码中,生成了一个包含 1000 个样本、5 个簇的数据集,然后使用 `kmeans_clustering` 对数据进行聚类,并输出了聚类的结果。
阅读全文