首页 > 其他 > 详细

无监督学习——KMeans使用

时间:2018-04-22 10:19:13      阅读:184      评论:0      收藏:0      [点我收藏+]

在当我们获得的数据没有标签时,我们依然希望通过算法学习找到这些数据的特点,这时就用到了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.]])

 

无监督学习——KMeans使用

原文:https://www.cnblogs.com/HL-blog/p/8904776.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!