聚类(四)KMeans基本框架\KMeans++实现\K-Means使用 load_iris

本文介绍了如何使用KMeans算法对load_iris数据集进行聚类,探讨了不同参数如k值和初始化方式对聚类效果的影响,并提供了KMeans++的实现。通过对比k=3和k=8的情况,展示了k值选择的重要性。同时,提到了Python在数据分析中的应用,并给出了作者的联系方式和培训资源链接。
摘要由CSDN通过智能技术生成


聚类总结(一)K-means、层次、DBSCAN、均值漂移、K-Means 、KNN https://blog.csdn.net/u010986753/article/details/97821890
聚类(二)原 聚类总结(二)聚类性能评估、肘部法则、轮廓系数 https://blog.csdn.net/u010986753/article/details/97885955
聚类(三)k-means++、k-means参数、Mini Batch K-Means https://blog.csdn.net/u010986753/article/details/97916856
聚类(四)KMeans基本框架\KMeans++实现\K-Means使用 load_iris https://blog.csdn.net/u010986753/article/details/97922554

一、K-Means使用 load_iris

代码

# coding = utf-8
# 2019/7/31  Luckyxxt:有趣的事,Python永远不会缺席!
# https://www.cnblogs.com/huangyc/p/10229064.html
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D #3D的库

from sklearn.cluster import KMeans
from sklearn import datasets

np.random.seed(5) #设置随机数种子

iris = datasets.load_iris()
X = iris.data
y = iris.target

estimators = [('k_means_iris_8', KMeans(n_clusters=8)),#k=8的kmeans
              ('k_means_iris_3', KMeans(n_clusters=3)), #k=3的kmeans
              ('k_means_iris_bad_init', KMeans(n_clusters=3, n_init=1,init='random')) #k=3,随机初始化的kmeans
              ]

fignum = 1
titles = ['8 clusters', '3 clusters', '3 clusters, bad initialization']
for name, est in estimators:
    fig = plt.figure(fignum, figsize=(4, 3))
    ax = Axes3D(fig, rect=[0, 0, .95, 1], elev=48, azim=134)
    est.fit(X) #fit建立模型
    labels = est.labels_ #获得模型聚类后的label

    ax.scatter(X[:, 3], X[:, 0], X[:, 2],
               c=labels.astype(np.float), edgecolor='k') #绘制X中的第3,0,2个维度的特征

    ax.w_xaxis.set_ticklabels([])
    ax.w_yaxis.set_ticklabels([])
    ax.w_zaxis.set_ticklabels([])
    ax.set_xlabel('Petal width') #设置坐标轴名
    ax.set_ylabel('Sepal length')
    ax.set_zlabel('Petal length')
    ax.set_title(titles[fignum - 1]) #设置图的名字
    ax.dist = 12
    fignum = fignum + 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值