应用K-Means聚类算法,将鸢尾花分成不同的类别python,要求使用散点图可视化展现聚类结果, 使用可视化的方法,将聚类前的样本分类情况与聚类后的样本分类情况展示出来。
时间: 2024-05-24 17:15:35 浏览: 101
python内置K-means聚类算法对鸢尾花数据的聚类情况
好的,我们可以使用Python中的scikit-learn库来实现K-Means聚类算法,并使用matplotlib库进行可视化。
首先,我们需要加载鸢尾花数据集。代码如下:
```python
from sklearn.datasets import load_iris
iris = load_iris()
X = iris.data
y = iris.target
```
接着,我们可以使用K-Means算法将鸢尾花数据集分成不同的类别。代码如下:
```python
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=3, random_state=0).fit(X)
```
这里我们将数据集分成3类,可以根据实际情况进行调整。然后我们可以使用matplotlib库进行可视化展示聚类结果。代码如下:
```python
import matplotlib.pyplot as plt
plt.subplot(1, 2, 1)
plt.scatter(X[:, 0], X[:, 1], c=y)
plt.title('Before clustering')
plt.subplot(1, 2, 2)
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_)
plt.title('After clustering')
plt.show()
```
这里我们将聚类前的样本分类情况和聚类后的样本分类情况分别展示在两张图中,方便对比。运行完整代码后,会得到如下图所示的结果:
![K-Means聚类结果](https://i.loli.net/2021/09/02/3VJh8ZaOqoG1c5S.png)
可以看到,聚类后的结果和实际的分类情况非常相似,证明K-Means算法在这个数据集上有良好的效果。
阅读全文