scikit-learn中的一个k_means聚类方法参数说明

  • 发布日期:2019-10-25
  • 难度:简单
  • 类别:聚类分析、KMeans参数说明
  • 标签:Python、sklearn.cluster.KMeans

1. 问题描述

基于Python第三方库sklearn,对sklearn.cluster.KMeans的参数进行说明。

2. 程序实现

In [1]:
#导入K-means聚类算法的语句:
from sklearn.cluster import KMeans
#调用该方法的一个具体实例
KMeans(n_clusters=8,init="k-means++",n_init=10,max_iter=300, tol=0.0001,precompute_distances="auto", verbose=0, random_state=None, copy_x=True, n_jobs=1, algorithm="auto")

k-means算法的主要参数包括:

  • n_cluster为整型数,默认值为8,代表要聚成的类别数,也就是要生成的质心数。
  • init为初始化的方法,取值分为三类:默认为k-means++(确定kmeans聚类质心以加速类团合并),还有随机设置质心random和ndarray(以类团,特征的形式进行数组传递)
  • n_init为整型数,默认值为10,不同的初始化质心运行算法次数。
  • max_iter为整型数,默认值为300,最大的迭代次数。
  • algorithm代表选择的算法,默认值为auto,共有auto,full和elkan三种算法供选择。Full为传统的kmeans算法,elkan为elkan k-means算法,auto会根据数据集是否稀疏自动选择算法,对稠密的数据集选择elkan算法,对稀疏的数据集选择full算法。

k-means算法的属性:

  • cluster_centers_为数组形式(类团,特征),代表类团中心的坐标。
  • labels_为各个坐标点的类标签。
  • inertia_为浮点数,代表样本到其最近聚类中心的平方距离之和。