对csv文件中的数据实现聚类操作,聚类中心个数取3
时间: 2024-02-10 18:11:01 浏览: 41
好的,以下是一个简单的 Python 代码实现针对 csv 文件的 K-means 聚类操作,聚类中心个数为 3:
```python
import pandas as pd
import numpy as np
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
# 加载数据
data = pd.read_csv('data.csv')
# 数据标准化
scaler = StandardScaler()
data_scaled = scaler.fit_transform(data)
# 训练模型
kmeans = KMeans(n_clusters=3)
kmeans.fit(data_scaled)
# 预测聚类标签
cluster_labels = kmeans.predict(data_scaled)
# 可视化聚类结果
plt.scatter(data_scaled[:, 0], data_scaled[:, 1], c=cluster_labels)
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], marker='*', s=200, c='#050505')
plt.show()
```
在上面的代码中,我们首先使用 Pandas 加载了一个名为 `data.csv` 的 csv 文件,然后使用 `StandardScaler` 对数据进行了标准化处理,使得每个特征的方差为 1,均值为 0。接着我们使用 `KMeans` 类对数据进行了聚类,聚类中心个数为 3。然后我们使用 `predict` 方法来预测数据点所属的聚类,最后使用 Matplotlib 可视化了聚类结果。在可视化结果中,我们使用黑色星号标记了聚类中心的位置。
需要注意的是,以上代码中的数据特征是二维的,如果你的 csv 文件中的数据特征不止两个,你需要相应地修改代码中的数据预处理和可视化部分。