导入csv数据,使用Kmeans聚类的python代码
时间: 2024-05-04 07:20:00 浏览: 115
以下是导入csv数据并使用Kmeans聚类的Python代码示例:
```python
import pandas as pd
import numpy as np
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
# 读取CSV数据
df = pd.read_csv('data.csv')
# 数据预处理
X = df.iloc[:, 1:].values
sc = StandardScaler()
X = sc.fit_transform(X)
# 使用PCA进行降维
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)
# 使用KMeans进行聚类
kmeans = KMeans(n_clusters=3, init='k-means++', random_state=42)
y_kmeans = kmeans.fit_predict(X_pca)
# 可视化聚类结果
colors = ['red', 'blue', 'green']
for i in range(3):
plt.scatter(X_pca[y_kmeans == i, 0], X_pca[y_kmeans == i, 1], s=100, c=colors[i], label=f'Cluster {i+1}')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=300, c='yellow', label='Centroids')
plt.title('Clusters')
plt.xlabel('PCA 1')
plt.ylabel('PCA 2')
plt.legend()
plt.show()
```
在这个示例中,我们首先使用Pandas库的`read_csv`函数读取CSV数据文件,并将数据存储到DataFrame对象中。然后,我们使用NumPy库的`values`属性将DataFrame对象转换为NumPy数组。接下来,我们使用scikit-learn库的`StandardScaler`类对数据进行标准化处理。然后,我们使用PCA进行降维,并使用KMeans进行聚类。最后,我们使用Matplotlib库可视化聚类结果。
阅读全文