ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

K-means算法的参数详解

2020-11-24 12:01:30  阅读:222  来源: 互联网

标签:means int auto 算法 详解 聚类 默认值 elkan


参数名称

默认值及输入类型

参数解释

algorithm

默认:Auto

有auto、full和elkan三种选择。

algorithm: 优化算法的选择,有auto、full和elkan三种选择。

  1. full就是一般意义上的K-Means算法,
  2. elkan是使用的elkan K-Means算法。
  3. auto则会根据数据值是否是稀疏的(稀疏一般指是有大量缺失值),来决定如何选择full和elkan。如果数据是稠密的,就选择elkan K-means,否则就使用普通的Kmeans算法。

copy_x

True

主要起作用于提前计算距离的情况,如果是True,则表示在源数据的副本上提前计算距离时,不会修改源数据。

init

默认值为‘k-means++’ 有三个可选值:‘k-means++’、‘random’、或者传递一个ndarray向量。

 

  1. (1)‘k-means++’ 用一种特殊的方法选定初始质心从而能加速迭代过程的收敛

(1)、从输入的数据点集合(要求有k个聚类)中随机选择一个点作为第一个聚类中心;(2)、对于数据集中的每一个点x,计算它与最近聚类中心(指已选择的聚类中心)的距离D(x);(3)、选择一个新的数据点作为新的聚类中心,选择的原则是:D(x)较大的点,被选取作为聚类中心的概率较大;(4)、重复2和3直到k个聚类中心被选出来

  1. (2)‘random’ 随机从训练数据中选取初始质心。
  2. (3)如果传递的是一个ndarray,则应该形如 (n_clusters, n_features) 并给出初始质心。

max_iter

默认值为300 int型,

最大迭代数。

n_clusters

默认为8    int型

生成的聚类数,

n_init

默认值为10

int型

用不同的聚类中心初始化值运行算法的次数,最终解是在inertia意义下选出的最优结果。

n_jobs

int型。

指定计算所用的进程数。内部原理是同时进行n_init指定次数的计算。

  1. -1,则用所有的CPU进行运算。
  2. 若值为1,则不进行并行运算
  1. 若值小于-1,为-2,则用到的CPU数为总CPU数减1。

precompute_distances

默认值是auto

 auto,True,False三个参数值可选

是否需要提前计算距离

如果选择auto,当样本数*质心数>12兆的时候,就不会提前进行计算,如果小于则会与提前计算。提前计算距离会让聚类速度很快,但是也会消耗很多内存。

random_state

默认值为numpy.RandomState 类型,

还可以选择int型

用于初始化质心的生成器(generator)。如果值为一个整数,则确定一个seed。

 

tol

1e-4

float型,容忍的最小误差,当误差小于tol就会退出迭代,与inertia结合来确定收敛条件。

verbose

默认为0

是否输出详细信息,

标签:means,int,auto,算法,详解,聚类,默认值,elkan
来源: https://blog.csdn.net/weixin_42587745/article/details/110063091

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有