对UCI数据库中Car Evaluation数据集用k-means算法聚类并可视化的代码
时间: 2024-02-22 10:58:40 浏览: 129
以下是对UCI数据库中Car Evaluation数据集用k-means算法聚类并可视化的Python代码:
```python
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import LabelEncoder, StandardScaler
import matplotlib.pyplot as plt
# 读取数据集
data = pd.read_csv('car.data', header=None)
data.columns = ['buying', 'maint', 'doors', 'persons', 'lug_boot', 'safety', 'class']
# 将类别特征编码为数字
le = LabelEncoder()
for col in data.columns:
data[col] = le.fit_transform(data[col])
# 分离特征和标签
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values
# 标准化特征
scaler = StandardScaler()
X = scaler.fit_transform(X)
# 聚类
kmeans = KMeans(n_clusters=4, random_state=0).fit(X)
# 可视化聚类结果
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.xlabel('buying')
plt.ylabel('maint')
plt.show()
```
在代码中,首先读取数据集,然后使用LabelEncoder将类别特征编码为数字,分离特征和标签,标准化特征,然后使用KMeans聚类算法聚类。最后,使用Matplotlib库进行可视化,将聚类结果用散点图表示。其中,散点图的x轴是buying特征,y轴是maint特征,每个点的颜色代表该点的聚类类别。
阅读全文