KMeans聚类算法实现鸢尾花的聚类

KMeans聚类描述
  1. 聚类是无监督学习,它将相似对象归到同一个簇中,簇内对象越相似,聚类的效果越好。KMeans算法中k表示聚类为多少个簇,means代表取每一个聚类中数据的均值作为该簇的中心或称为质心。

  2. KMeans算法的流程:
    (1)随机确定k个质心
    (2)将数据集中每一个点找到距离其最近的质心,并将其分配到对应的簇
    (3)每一个簇的质心更新为该簇中所有点的均值
    (4)重复2,3直到质心无法再更新
    3.图解
    假设有九个点分位三类 k=3
    (1)图中随机选择三个点


    (1)

    (2)把距离这三个点最近的其他点归为一类(簇)


    (2)

    (3)取当前类的所有点均值,作为中心点
    (3)

    (4)更新距离中心点最近的点
    (4)

    (5)再次计算被分类点的均值作为新的中心点
    (5)

    (6)再次更新距离中心点最近的点
    (6)

    (7)计算中心点
    (7)

    (8)直到所有点无法再更新到其他分类时,算法结束。

sklearn实现鸢尾花的KMeans聚类
from sklearn import datasets

iris = datasets.load_iris()
#print(iris)
#print(iris.data,type(iris.data))
#print(iris.target,type(iris.target))
#print(iris.target_names,type(iris.target_names))
#print(iris.feature_names,type(iris.feature_names))

#使用交叉验证,把数据集分位训练样本和测试样本集
from sklearn.model_selection import train_test_split
xtrain,xtest,ytrain,ytest = train_test_split(iris.data,iris.target,test_size=0.1)

#建立模型
from sklearn.cluster import KMeans
model = KMeans(n_clusters=3)
model.fit(xtrain)
pre = model.predict(xtrain)
center = model.cluster_centers_
print(pre,center)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 聚类算法 前面介绍的集中算法都是属于有监督机器学习方法,这章和前面不同,介绍无监督学习算法,也就是聚类算法。在无监...
    飘涯阅读 41,567评论 3 51
  • 1. Kmeans聚类算法简介 由于具有出色的速度和良好的可扩展性,Kmeans聚类算法算得上是最著名的聚类方法。...
    wujingwin阅读 13,533评论 1 8
  • 第 10 章 K-Means(K-均值)聚类算法 K-Means 算法 聚类是一种无监督的学习, 它将相似的对象归...
    Joyyx阅读 7,495评论 1 9
  • 不知不觉,十八年了。想起教他说话、喂他吃饭、接送他上学,好像只是昨天。 十八岁,长大成人,要独立担当,要展翅高飞,...
    羽佳成长故事阅读 825评论 0 0
  • 在《向往的生活》这档综艺节目中,有一期黄渤、于和伟、王迅一起来做客,他们三个是《一出好戏》这部电影的主创人员,黄渤...
    赵墨香阅读 1,560评论 0 1