k均值聚类算法 西瓜
时间: 2025-01-04 10:21:55 浏览: 6
### K-Means聚类算法应用于西瓜数据集
#### 数据预处理
为了使K-Means聚类能够有效工作,首先需要准备并清理数据。对于西瓜数据集来说,通常会包含诸如密度和含糖率等属性。假设已经有一个CSV文件包含了这些信息,则可以按照如下方式读入数据:
```python
import pandas as pd
data = pd.read_csv('watermelon_data.csv')
X = data[['density', 'sugar_rate']].values # 假设列名为'density' 和'sugar_rate'
```
#### 初始化模型参数
选择合适的簇数量\( k \),这通常是基于领域知识或是通过肘部法则(elbow method)来决定。
```python
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=3, random_state=42).fit(X)
labels = kmeans.labels_
centers = kmeans.cluster_centers_
```
这里选择了三个簇作为例子,并设置了随机种子以确保结果可重复。`n_clusters` 参数指定了期望得到的簇的数量,在实际应用中可以根据具体需求调整此值。
#### 可视化聚类结果
利用matplotlib库绘制散点图展示各个样本所属的簇以及各簇中心的位置。
```python
import matplotlib.pyplot as plt
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis')
plt.scatter(centers[:, 0], centers[:, 1], marker="*", s=300, linewidths=5, color='r')
plt.xlabel('Density')
plt.ylabel('Sugar Rate')
plt.title('Watermelon Clusters with K-Means Algorithm')
plt.show()
```
上述代码片段展示了如何使用Python及其科学计算生态系统的工具来进行简单的K-Means聚类实验[^2]。
阅读全文