生成代码jupyter notebook(1) 从 sklearn.dataset 里导入鸢尾花数据集并下载(数据集介绍和相关属性查看 sklearn 官方文档)。在控制台输出数据集大小和样式信息; (2) 选择鸢尾花数据集特征空间中的后两个维度并使用 matplotlib 进行绘制数据分布图; (3) 使用 sklearn 包的 cluster 建立 K-Means 算法使用最后两种特征进行聚类操作; (4) 使用 matplotlib 将预测结果用不同颜色绘制不同类别输出
时间: 2024-02-06 10:03:54 浏览: 83
好的,下面是一份可能的 Python 代码实现:
```python
# 导入所需库
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans
# 读取鸢尾花数据集
iris = load_iris()
# 输出数据集大小和样式信息
print("数据集大小:", iris.data.shape)
print("数据集样式:", iris.data[:5])
# 选择后两个特征并绘制数据分布图
X = iris.data[:, 2:]
plt.scatter(X[:, 0], X[:, 1])
plt.xlabel('Petal Length (cm)')
plt.ylabel('Petal Width (cm)')
plt.show()
# 使用 K-Means 算法进行聚类操作
kmeans = KMeans(n_clusters=3, random_state=42)
y_pred = kmeans.fit_predict(X)
# 将预测结果用不同颜色绘制不同类别输出
plt.scatter(X[y_pred == 0, 0], X[y_pred == 0, 1], c='red', label='Cluster 1')
plt.scatter(X[y_pred == 1, 0], X[y_pred == 1, 1], c='blue', label='Cluster 2')
plt.scatter(X[y_pred == 2, 0], X[y_pred == 2, 1], c='green', label='Cluster 3')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], marker='*', s=200, c='black', label='Centroids')
plt.xlabel('Petal Length (cm)')
plt.ylabel('Petal Width (cm)')
plt.legend()
plt.show()
```
这份代码从 sklearn.datasets 中导入鸢尾花数据集,并输出了数据集的大小和样式信息。然后选择了鸢尾花数据集特征空间中的后两个维度并使用 matplotlib 绘制了数据分布图。接着使用了 sklearn.cluster 中的 KMeans 类建立了 K-Means 算法,并使用后两个特征进行聚类操作。最后使用 matplotlib 绘制了预测结果用不同颜色绘制不同类别的聚类结果输出。
阅读全文