美文网首页
KMeans聚类算法实现鸢尾花的聚类

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

作者: 茶小美 | 来源:发表于2019-03-06 23:18 被阅读0次
    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)
    

    相关文章

      网友评论

          本文标题:KMeans聚类算法实现鸢尾花的聚类

          本文链接:https://www.haomeiwen.com/subject/pkifpqtx.html