使用 scikit-learn 库,通过 k 均值算法实现鸢尾花聚类。
时间: 2024-01-23 12:00:55 浏览: 134
使用scikit-learn库,可以通过k均值算法实现鸢尾花聚类。鸢尾花数据集是一个经典的分类问题数据集,其中包含了三个不同种类的鸢尾花,每个种类有50个实例。这个数据集中的每个实例都包含了四个特征(花萼长度、花萼宽度、花瓣长度、花瓣宽度)。
首先,需要导入相关的库和数据集。通过以下代码可以导入鸢尾花数据集:
from sklearn import datasets
iris = datasets.load_iris()
然后,可以使用k均值算法对鸢尾花数据集进行聚类。k均值算法是一种无监督学习算法,它通过将数据集中的实例分为k个不同的簇来进行聚类。在这个案例中,我们将k设置为3,即聚类成三类。
要使用k均值算法,可以使用scikit-learn库中的KMeans类。通过以下代码可以使用k均值算法对鸢尾花数据集进行聚类:
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=3)
kmeans.fit(iris.data)
接下来,可以使用聚类结果进行预测。通过以下代码可以获取聚类的标签:
labels = kmeans.predict(iris.data)
最后,可以根据聚类结果对数据进行可视化。通过以下代码可以绘制花萼长度与花萼宽度的散点图,并根据聚类标签对数据进行着色:
import matplotlib.pyplot as plt
plt.scatter(iris.data[:, 0], iris.data[:, 1], c=labels)
plt.xlabel('Sepal Length')
plt.ylabel('Sepal Width')
plt.show()
通过以上步骤,就可以使用scikit-learn库中的k均值算法对鸢尾花数据集进行聚类,并将结果进行可视化展示。
阅读全文