对UCI数据库中wine数据集用k-means算法聚类并可视化的代码
时间: 2024-02-22 11:58:38 浏览: 152
以下是对UCI数据库中wine数据集用k-means算法聚类并可视化的Python代码:
```python
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
# 读取数据集
data = pd.read_csv('wine.data', header=None)
data.columns = ['class', 'Alcohol', 'Malic acid', 'Ash', 'Alcalinity of ash', 'Magnesium', 'Total phenols',
'Flavanoids', 'Nonflavanoid phenols', 'Proanthocyanins', 'Color intensity', 'Hue',
'OD280/OD315 of diluted wines', 'Proline']
# 分离特征和标签
X = data.iloc[:, 1:].values
y = data.iloc[:, 0].values
# 标准化特征
scaler = StandardScaler()
X = scaler.fit_transform(X)
# 聚类
kmeans = KMeans(n_clusters=3, random_state=0).fit(X)
# 可视化聚类结果
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.xlabel('Alcohol')
plt.ylabel('Malic acid')
plt.show()
```
在代码中,首先读取数据集,分离特征和标签,标准化特征,然后使用KMeans聚类算法聚类。最后,使用Matplotlib库进行可视化,将聚类结果用散点图表示。其中,散点图的x轴是Alcohol特征,y轴是Malic acid特征,每个点的颜色代表该点的聚类类别。
阅读全文