0
点赞
收藏
分享

微信扫一扫

鸢尾花实例

扒皮狼 2022-03-30 阅读 57

1.pip install 两个大工具包 :

(1) pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

(2) pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sklearn

2. 导入三个模块,分别是

from sklearn.datasets import load_iris

from sklearn.cluster import KMeans

from matplotlib.pyplot

3. 加载数据,导入鸢尾花数据

iris = load_iris()
#load_iris() 这个方法是sklearn自带的鸢尾花测试数据

4.构建模型

Kmeans = KMeans(n_clusters = 3, init = 'k-means++', random_state =123)
#n_clusters 簇的个数
#init   将这个值状态设置为'k-means++' 可以避免选择较差的起始点
#random_state =123 将状态为123的随机值固定

5产生结果

y_kmeans = kmeans.fit_predict(iris.data)

6.结果可视化展示

(1)每个簇的中心点展示

kmeans.cluster_centers_
#下面的二维集合的子集合对应着着三个簇中心,在细分到下面的一维数组,里面包含的是花萼长的中心点,花萼宽的中心点,花瓣长的中心点,花瓣宽的中心点

  (2) #画出了三个类的中心点位置

plt.scatter(iris.data[y_kmeans == 0, 2], iris.data[y_kmeans == 0, 3], s = 50, c = 'red', label = 'Cluster 1')
plt.scatter(iris.data[y_kmeans == 1, 2], iris.data[y_kmeans == 1, 3], s = 50, c = 'blue', label = 'Cluster 2')
plt.scatter(iris.data[y_kmeans == 2, 2], iris.data[y_kmeans == 2, 3], s = 50, c = 'green', label = 'Cluster 3')

#绘制中心点
plt.scatter(kmeans.cluster_centers_[:, 2], kmeans.cluster_centers_[:, 3], s = 100, c = 'black', label = 'Centroids')#花瓣长和花瓣宽
plt.title('Clusters of Iris')
plt.xlabel('Petal.Length')
plt.ylabel('Petal.Width')
plt.legend()
plt.show()

 

举报

相关推荐

0 条评论