❤️Python机器学习❤️--聚类算法实现--Sklearn中的聚类算法关键参数详解

聚类算法

K-Means算法基于Sklearn中的参数

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=None
       , algorithm='auto')
'''
参数:
1.n_clusters:整形,缺省值=8 生成的聚类数,即产生的质心(centroids)数。】
2.max_iter:整形,缺省值=300 执⾏一次k-means算法所进行的最大迭代数。
3.n_init:整形,缺省值=10
⽤不同的质心初始化值运行算法的次数,最终解是在inertia意义下选出的最优结果。
4.init:有三个可选值: ’k-means++’, ‘random’,或者传递⼀个ndarray向量。
此参数指定初始化⽅方法,默认值为 ‘k-means++’。
(1) ‘k-means++’ ⽤用⼀种特殊的方法选定初始质⼼从⽽能加速迭代过程的收敛(即上文中的kmeans++介绍)
(2) ‘random’ 随机从训练数据中选取初始质心。
(3)如果传递的是一个ndarray,则应该形如 (n_clusters, n_features) 并给出初始质心。
5.precompute_distances:三个可选值, ‘auto’, True 或者 False。预计算距离,计算速度更更快但占⽤用更更多内存。
(1) ‘auto’:如果 样本数乘以聚类数大于 12million 的话则不预计算距离。
This corresponds to about 100MB overhead per job using double precision.
(2) True:总是预先计算距离。
(3) False:永远不不预先计算距离。
6.tol: float形,默认值= 1e-4 与inertia结合来确定收敛条件。
7.n_jobs:整形数。 指定计算所⽤用的进程数。内部原理理是同时进行n_init指定次数的计算。
(1)若值为 -1,则⽤用所有的CPU进⾏运算。若值为1,则不进行并行运算,这样的话⽅便调试。
(2)若值⼩于-1,则⽤用到的CPU数为(n_cpus + 1 + n_jobs)。因此如果 n_jobs值为-2,则⽤到的CPU数为总CPU数减1。
8.random_state:整形或 numpy.RandomState 类型,可选⽤于初始化质心的⽣成器器(generator)。如果值为一个整数,则确定一个seed。此参数默认值为numpy的随机数生成器。
9.copy_x:布尔型,默认值=True
当我们precomputing distances时,将数据中⼼化会得到更准确的结果。如果把此参数值设为True,
则原始数据不会被改变。如果是False,则会直接在原始数据上做修改并在函数返回值时将其还原。但是在
计算过程中由于有对数据均值的加减运算,所以数据返回后,原始数据和计算前可能会有细小差别。
属性:
cluster_centers_:向量, [n_clusters, n_features] (聚类中⼼心的坐标)
Labels_: 每个点的分类
inertia_: float形
每个点到其簇的质⼼心的距离之和。
'''

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轻窕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值