zoukankan      html  css  js  c++  java
  • 无监督学习——KMeans使用

    在当我们获得的数据没有标签时,我们依然希望通过算法学习找到这些数据的特点,这时就用到了KMeans (k均值聚类)把数据点聚类成K个簇

    文档地址:

    http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

     class sklearn.cluster.KMeans(n_clusters=8init=’k-means++’n_init=10max_iter=300tol=0.0001precompute_distances=’auto’verbose=0random_state=Nonecopy_x=Truen_jobs=1algorithm=’auto’)

    在以上所有的参数中其中有三个参数需要非常注意

    n_clusters=8  聚类的数量(簇的数量),默认是8.但这个我们一般都需要调整

    n_init=10      初始化的数量。 不同的初始化状况,聚心的位置不同,决定了算法聚类的结果。初始化10次,会得到10个聚类的集合。可以从中选择认为合适的聚类。在认为数据

          难以进行分配的时候,可以调大这个值。

    max_iter=300 算法迭代最大次数。每一次迭代都会重新 移动聚类中心 (聚心)的位置,和分配点,绝大部分情况下算法在达到最大值之前一般都停止了,

           所以这个大部分情况下不用调整,默认就行。

     1 from sklearn.cluster import KMeans
     2 import numpy as np
     3 X = np.array([[1, 2], [1, 4], [1, 0],
     4               [4, 2], [4, 4], [4, 0]])
     5 kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
     6 kmeans.labels_   #返回每个点的标签
      array([0, 0, 0, 1, 1, 1], dtype=int32)

    8 kmeans.predict([[0, 0], [4, 4]])
      array([0, 1], dtype=int32)
     9 kmeans.cluster_centers_  #返回聚心位置
       array([[ 1.,  2.],
             [ 4.,  2.]])
  • 相关阅读:
    Word中设置文档结构图
    jQuery设计思想
    JMJS系统总结系列JMJS中使用到的Jquery工具(四)
    JMJS系统总结系列XSLT的语句规则(一)
    构建安全的数据访问组件
    JMJS系统总结系列Jquery与后台的交互方式(三)
    浮躁的搬运工
    JMJS系统总结系列Jquery分页扩展库(五)
    IIS7 授权配置错误
    JMJS系统总结系列HTML标签在XSLT 中的应用(二)
  • 原文地址:https://www.cnblogs.com/HL-blog/p/8904776.html
Copyright © 2011-2022 走看看