1.调用k-means算法对生成的数据集进行聚类,对聚类效果进行展 示。 实验要求: (1)导入需要的库; (2)生成训练集; (3)用k-means算法将这些数据聚为3类,并绘制聚类效果; (4)输出k-means聚类的标签;
时间: 2024-10-20 21:14:27 浏览: 26
k-means-matlab.rar_K-Means||_K._聚类算法
为了帮助你完成这个实验,我们首先需要导入必要的库,如`numpy`用于处理数组操作,`matplotlib`用于可视化,以及`sklearn.cluster`模块中的`KMeans`类来进行K-means聚类。以下是一段简单的Python代码示例:
```python
# 导入所需的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# 生成训练集(这里假设我们要创建一个二维数据集)
n_samples = 1000
X = np.random.rand(n_samples, 2) * 10 # 创建随机二维数据点,范围在0到10之间
# 用K-means算法进行聚类,设置类别数为3
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
# 获取聚类标签
labels = kmeans.labels_
# 绘制聚类结果
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis') # 使用散点图表示数据点颜色根据聚类标签变化
plt.title('K-means Clustering Result')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()
# 输出聚类标签
print("Cluster labels:", labels)
```
这段代码首先生成了一个1000个样本、每个样本有两个特征的随机数据集。然后使用`KMeans`模型将其分为3类,并获取每个数据点所属的簇标签。最后,通过散点图展示了聚类结果,不同颜色代表不同的簇。
执行此代码后,你应该能看到一个二维数据集按照聚类结果被分成了三个区域。每个点的颜色对应其所属的簇。
阅读全文