Python 用csv格式的鸢尾花数据进行Kmeans聚类
时间: 2024-03-05 11:50:55 浏览: 70
kmeans_waveform_Kmeans_python_Waveform_kmeansuci_waveform数据集
5星 · 资源好评率100%
好的,我可以给你提供一个简单的Python示例,演示如何使用csv格式的鸢尾花数据进行Kmeans聚类。这里我们使用Python的pandas和sklearn库来完成数据处理和聚类操作。
1. 首先,我们需要导入需要的库:
```python
import pandas as pd
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
```
2. 然后,我们可以使用pandas库中的read_csv()函数读取csv格式的鸢尾花数据集:
```python
df = pd.read_csv('iris.csv')
```
3. 接下来,我们需要将数据集中的特征值提取出来,这里我们选择使用花萼长度、花萼宽度、花瓣长度和花瓣宽度这四个特征进行聚类:
```python
X = df.iloc[:, [0, 1, 2, 3]].values
```
4. 然后,我们可以使用sklearn库中的KMeans类来进行聚类操作。这里我们选择将数据聚为3类:
```python
kmeans = KMeans(n_clusters=3, init='k-means++', max_iter=300, n_init=10, random_state=0)
y_kmeans = kmeans.fit_predict(X)
```
5. 最后,我们可以使用matplotlib库将聚类结果可视化出来:
```python
plt.scatter(X[y_kmeans == 0, 0], X[y_kmeans == 0, 1], s = 100, c = 'red', label = 'Cluster 1')
plt.scatter(X[y_kmeans == 1, 0], X[y_kmeans == 1, 1], s = 100, c = 'blue', label = 'Cluster 2')
plt.scatter(X[y_kmeans == 2, 0], X[y_kmeans == 2, 1], s = 100, c = 'green', label = 'Cluster 3')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s = 300, c = 'yellow', label = 'Centroids')
plt.title('KMeans Clustering')
plt.legend()
plt.show()
```
这样就完成了使用csv格式的鸢尾花数据进行Kmeans聚类的示例。希望对你有所帮助。
阅读全文