使用 scikit-learn中的kmeans算法对iris数据集进行聚类并输出聚类标签
时间: 2024-11-15 22:23:26 浏览: 1
一个使用Python中的scikit-learn库实现的简单K-Means聚类算法脚本
在Python中,我们可以使用scikit-learn库中的KMeans算法对Iris数据集进行聚类。以下是简单的步骤:
首先,你需要安装必要的库,如果还没有的话:
```bash
pip install numpy pandas sklearn
```
然后,你可以按照以下代码进行操作:
```python
from sklearn import datasets
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
# 加载Iris数据集
iris = datasets.load_iris()
X = iris.data[:, :2] # 我们通常只取前两维特征,因为k-means仅考虑欧几里得距离
# 创建KMeans模型,并设置簇的数量为3(因为Iris有三个物种)
kmeans = KMeans(n_clusters=3)
# 训练模型
kmeans.fit(X)
# 获取聚类标签
labels = kmeans.labels_
# 输出聚类结果
print("Cluster labels:", labels)
# 可视化聚类结果
plt.scatter(X[:, 0], X[:, 1], c=labels)
plt.xlabel(iris.feature_names[0])
plt.ylabel(iris.feature_names[1])
plt.title('K-means Clustering of Iris dataset')
plt.show()
```
在这个例子中,我们选择了两个主成分(通常是前两维),然后运行了KMeans算法。最后,我们将每个样本点的颜色映射到对应的聚类标签上,以便可视化结果。
阅读全文