zoukankan      html  css  js  c++  java
  • Python笔记11------一个K-means聚类的小例子

    #导入scipy库,库中已经有实现的kmeans模块,直接使用,
    #根据六个人的分数分为学霸或者学渣两类
    import numpy as np
    from scipy.cluster.vq import vq,kmeans,whiten
    list1=[88,64,96,85]
    list2=[92,99,95,94]
    list3=[91,87,99,95]
    list4=[78,99,97,81]
    list5=[88,78,98,84]
    list6=[100,95,100,92]
    #将数据组成数组
    data=np.array([list1,list2,list3,list4,list5,list6])
    #数据归一化处理
    whiten=whiten(data)
    #使用kmeans聚类,第一个参数为数据,第二个参数是k类,得到的结果是二维的,所以加一个下划线表示不取第二个值,第一个值为得到的聚类中心,第二个值为损失
    centroids,_=kmeans(whiten,2)
    #使用vq函数根据聚类中心将数据进行分类,输出的结果为二维,第一个结果为分类的标签,第二个结果不需要。
    result,_=vq(whiten,centroids)
    print(result)

    输出结果:

    [0 1 1 0 0 1]

    根据数据可以看出0为学渣,1为学霸。

    6个人中,1、4、5为学渣,2,3,6为学霸。

    以上为使用Scipy中kmeans来求解的。


    sklearn

    import numpy as np
    from sklearn.cluster import KMeans
    list1=[88,64,96,85]
    list2=[92,99,95,94]
    list3=[91,87,99,95]
    list4=[78,99,97,81]
    list5=[88,78,98,84]
    list6=[100,95,100,92]
    #将数据组成数组
    data=np.array([list1,list2,list3,list4,list5,list6])
    #采用fit函数和predict函数
    kmeans=KMeans(n_clusters=2).fit(data)
    pred=kmeans.predict(data)
    print(pred)
  • 相关阅读:
    稳如车!半个世纪过去了,康威定律依然适用
    task.factory.startnew()
    RabbitMQ基础知识
    NLog类库使用探索——详解配置
    C# winform开发嵌套Chrome内核浏览器(WebKit.net)开发(一)
    C#客户端嵌入Chrome浏览器的实现
    TLS/HTTPS 证书生成与验证
    SSL证书/TLS证书是什么
    htmlparser
    动软代码生成器之模板功能介绍
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/8645400.html
Copyright © 2011-2022 走看看