使用K-means算法进行聚 类,给出聚类结果。绘制聚 类结果图。给出轮廓系数值簇的数量: k=3。距离选用: 欧氏距离的代码
时间: 2024-03-06 07:47:34 浏览: 16
好的,以下是使用Python进行K-means聚类并绘制聚类结果图的示例代码:
```python
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
import pandas as pd
import matplotlib.pyplot as plt
# 导入数据集
data = pd.read_csv('data.csv')
# 特征选择和数据标准化
X = data[['feature1', 'feature2', 'feature3']]
X_scaled = (X - X.mean()) / X.std()
# K-means聚类,k=3,欧氏距离
kmeans_model = KMeans(n_clusters=3, init='k-means++', n_init=10, max_iter=300, random_state=0)
y_kmeans = kmeans_model.fit_predict(X_scaled)
# 计算轮廓系数
silhouette_avg = silhouette_score(X_scaled, y_kmeans)
print('聚类结果的轮廓系数为:', silhouette_avg)
# 可视化展示
plt.scatter(X_scaled.iloc[:, 0], X_scaled.iloc[:, 1], c=y_kmeans, cmap='viridis')
plt.xlabel('feature1')
plt.ylabel('feature2')
plt.show()
```
其中,data.csv是包含原始数据的CSV文件,包含3个特征(feature1, feature2, feature3)。运行代码后,会输出聚类结果的轮廓系数,并绘制出聚类结果的散点图。