利用kmeans算法实现iris标出质心
时间: 2023-09-04 13:08:50 浏览: 74
好的,我可以帮你解决这个问题。
首先,我们需要导入相关的库:
```python
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
```
接下来,我们可以加载Iris数据集并使用KMeans算法进行聚类:
```python
iris = load_iris()
X = iris.data[:, :2] # 选择前两个特征
kmeans = KMeans(n_clusters=3, random_state=0).fit(X) # 将数据聚为3类
```
现在我们可以绘制数据和聚类结果:
```python
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_) # 绘制数据点
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], marker='^', s=100, linewidth=2, c=['r', 'g', 'b']) # 绘制质心
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.title('KMeans clustering on Iris')
plt.show()
```
这段代码会绘制出一个散点图,其中每个数据点的颜色表示它所属的簇,三个红色的三角形分别表示三个簇的质心。
希望这个回答能对你有所帮助,如果你还有其他问题,请随时问我。
阅读全文