sklearn.cluster.KMeans 参数介绍
sklearn.cluster.KMeans 参数介绍
为什么要介绍sklearn这个库里的kmeans?
这个是现在python机器学习最流行的集成库,同时由于要用这个方法,直接去看英文文档既累又浪费时间、效率比较低,所以还不如平时做个笔记、打个基础。
这里还有一个原因,上面介绍了k-means++,sklearn.cluster.KMeans这个类对于初始聚类中心的选择刚好默认选择的就是k-means ++。
参数:
n_clusters:整形,缺省值=8 【生成的聚类数,即产生的质心(centroids)数。】
max_iter:整形,缺省值=300
执行一次k-means算法所进行的最大迭代数。
n_init:整形,缺省值=10
用不同的质心初始化值运行算法的次数,最终解是在inertia意义下选出的最优结果。
init:有三个可选值:’k-means++’, ‘random’,或者传递一个ndarray向量。
此参数指定初始化方法,默认值为 ‘k-means++’。
(1)‘k-means++’ 用一种特殊的方法选定初始质心从而能加速迭代过程的收敛(即上文中的k-means++介绍)
(2)‘random’ 随机从训练数据中选取初始质心。
(3)如果传递的是一个ndarray,则应该形如 (n_clusters, n_features) 并给出初始质心。
precompute_distances:三个可选值,‘auto’,True 或者 False。
预计算距离,计算速度更快但占用更多内存。
(1)‘auto’:如果 样本数乘以聚类数大于 12million 的话则不预计算距离。This corresponds to about 100MB overhead per job using double precision.
(2)True:总是预先计算距离。
(3)False:永远不预先计算距离。
tol:float形,默认值= 1e-4 与inertia结合来确定收敛条件。
n_jobs:整形数。 指定计算所用的进程数。内部原理是同时进行n_init指定次数的计算。
(1)若值为 -1,则用所有的CPU进行运算。若值为1,则不进行并行运算,这样的话方便调试。
(2)若值小于-1,则用到的CPU数为(n_cpus + 1 + n_jobs)。因此如果 n_jobs值为-2,则用到的CPU数为总CPU数减1。
random_state:整形或 numpy.RandomState 类型,可选
用于初始化质心的生成器(generator)。如果值为一个整数,则确定一个seed。此参数默认值为numpy的随机数生成器。
copy_x:布尔型,默认值=True
当我们precomputing distances时,将数据中心化会得到更准确的结果。如果把此参数值设为True,则原始数据不会被改变。如果是False,则会直接在原始数据
上做修改并在函数返回值时将其还原。但是在计算过程中由于有对数据均值的加减运算,所以数据返回后,原始数据和计算前可能会有细小差别。
属性:
cluster_centers_:向量,[n_clusters, n_features] (聚类中心的坐标)
Labels_: 每个点的分类
inertia_:float形
每个点到其簇的质心的距离之和。
Notes:
这个k-means运用了 Lioyd’s 算法,平均计算复杂度是 O(knT),其中n是样本量,T是迭代次数。
计算复杂读在最坏的情况下为 O(n^(k+2/p)),其中n是样本量,p是特征个数。(D. Arthur and S. Vassilvitskii, ‘How slow is the k-means method?’ SoCG2006)
在实践中,k-means算法时非常快的,属于可实践的算法中最快的那一类。但是它的解只是由特定初始值所产生的局部解。所以为了让结果更准确真实,在实践中要用不同的初始值重复几次才可以。
Methods:
fit(X[,y]):
计算k-means聚类。
fit_predictt(X[,y]):
计算簇质心并给每个样本预测类别。
fit_transform(X[,y]):
计算簇并 transform X to cluster-distance space。
get_params([deep]):
取得估计器的参数。
predict(X):predict(X)
给每个样本估计最接近的簇。
score(X[,y]):
计算聚类误差
set_params(**params):
为这个估计器手动设定参数。
transform(X[,y]): 将X转换为群集距离空间。
在新空间中,每个维度都是到集群中心的距离。 请注意,即使X是稀疏的,转换返回的数组通常也是密集的。
参考文献:
1、http://blog.csdn.net/loadstar_kun/article/details/39450615
2、http://blog.csdn.net/xiaoyi_zhang/article/details/52269242
sklearn.cluster.KMeans 参数介绍相关推荐
- sklearn.cluster.KMeans参数介绍
转载自:https://blog.csdn.net/weixin_41724761/article/details/89786414,本文只做个人记录学习使用,版权归原作者所有. sklearn.cl ...
- sklearn 文档翻译之 sklearn.cluster.KMeans
在sklearn中处理kmeans聚类问题,用到的是 sklearn.cluster.KMeans 这个类. 参数: n_clusters:整形,缺省值=8 生成的聚类数,即产生的质心(centroi ...
- 聚类--K均值算法:自主实现与sklearn.cluster.KMeans调用
import numpy as np x=np.random.randint(1,100,[20,1]) #在1-100范围中产生20行1列的随机数组 y=np.zeros(20) k=3 #取数据中 ...
- sklearn.cluster.KMeans中的参数介绍
KMeans(n_clusters=8, init='k-means++', n_init=10, max_iter=300, tol=0.0001, precompute_distances='au ...
- Sklearn之KMeans算法
K-Means算法原理 K-means的优缺点 优点: 1.算法快速.简单; 2.对大数据集有较高的效率并且是可伸缩性的; 3.时间复杂度近于线性,而且适合挖掘大规模数据集.K-Means聚类算法的时 ...
- Sklearn的KMeans的详解
转载自: https://blog.csdn.net/github_39261590/article/details/76910689 前言: 这篇博文主要介绍k-means聚类算法的基本原理以及它的 ...
- sklearn中一些参数
转载:http://www.cnblogs.com/chenyaling/p/7826229.html 1.监督学习 1.1.广义线性模型 1.1.1.普通最小二乘法 class sklearn.l ...
- 小白入门:python sklearn之kmeans
K均值聚类算法原理 先随机选取K个对象作为初始的聚类中心.然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心.聚类中心以及分配给它们的对象就代表一个聚类.一旦全部对象都 ...
- sklearn之k-means聚类算法
听了菜菜的sklearn算法而写的学习笔记 概述 无监督学习与有监督学习 结构化数据与非结构化数据 聚类算法与分类算法 sklearn中的聚类算法 KMeans一最简单的聚类算法 KMeans算法工作 ...
最新文章
- 利用Linux或者Windows操作系统做路由器进行网络互连
- python pymysql 多线程 读写数据库 报错 Packet sequence number wrong
- mysql 5.6 初始化_MySQL 5.6 关于登陆的初始化设置
- Java solr 分词
- 格式化字符串漏洞利用 五、爆破
- android 手电筒电量低于15%,Android 手电筒(最强适配版)
- 计算机发展史的十大成就,我国在自然科学领域的十大成就都有哪些?
- 统计学③——总体与样本的差异在哪里
- pon终端测试仪_6304-PON终端测试仪报价_测试仪-北京海富达科技有限公司
- vmware14克隆后UUID相同的解决方法
- android keystore 查看、修改密码和别名等
- DNS这位“翻译官”是如何转换域名和IP地址的?
- 百分点技术负责人:我们为什么需要大数据操作系统
- Printk打印内核日志
- jQuery mobile插件基础知识笔记
- c语言中双星号,C中的双星号和`malloc`
- 2011-09-09 —— A5 —— 虚拟 GPS 串口驱动的添加以及 COM8 冲突问题
- 在Android项目中使用SpringBoot框架
- 7080生化分析仪使用说明书—— 测定原理篇
- Chipsec UEFI Shell启动盘的制作与使用,让你可以在所有平台轻松使用Chipsec