根据菜菜的课程进行整理,方便记忆理解
代码位置如下:
参数列表
参数 | 含义 |
---|---|
n_clusters | 整数可不填,默认8 要分成的簇数,以及要生成的质心数 |
init | 可输入”k-means++'',"random”或者一个n维数组 初始化质心的方法,默认”k-means++‘' 输入”k-means++":一种为K均值聚类选择初始聚类中心的聪明的办法以加速收敛 如果输入了n维数组,数组的形状应该是(n_clusters,n_features)给出初始质心 |
n_init | 整数,默认10 使用不同的质心随机初始化的种子来运行k-means算法的次数.最终结果会是基于Inertia来计算的n_init 次连续运行后的最佳输出 |
max_iter | 整数,默认300 单次运行的k-means算法的最大迭代次数 |
tol | 浮点数,默认1e-4 两次迭代间Inertia下降的量,如果两次迭代之间Inertia下降的值小于tol所设定的值,迭代就会停下 |
precompute_distances | auto",True, False,默认’auto" 预计算距离(更快但需要更多内存) 'auto':如果n_samples * n_clusters> 1200万,请不要预先计算距离。这相当于使用双精度来学习每个作业大约需要100MB的内存开销。 True:始终预先计算距离 False;从不预先计算距离 |
verbose | 整数,默认0 计算中的详细模式 |
random_state | 整数,Randomstate或者None,默认None 确定质心初始化的随机数生成。使用int可以使随机性具有确定性 |
copy_x | 布尔值,可不填,默认True 在预先计算距离时,如果先中心化数据,距离的预计算会更加精确。如果copy_x为True (默认值),则不修改原始数据,确保特征矩阵x是C-连续(C-contiguous)的。如果为False,原始数据被修改并在函数返回之前放回,但是可以通过减去或增加数据均值来引入微小的数值差异,在这种情况下,False模式无法确保数据是C-连续的,这可能导致K-Means的计算量显著变慢。 |
n_jobs | 整数或None,可不填默认1 用于计算的作业数。在计算每个n_init时并行运行的workor数. 这个参数允许K-means:在多个workor线上并行运行。给这个参数一个正值n_jobs,表示使用n_jobs条处理 器中的线程。值-1表示使用所有可用的处理器,-2表示使用所有可用的处理器-1个处理器依此类推。并行化通常以内存为代价加速计算(在这种情况下,需要存储多个质心副本,每个作业一个) |
algorithm | 可输入“auto",'full" or "elkan",默认为“auto" K-means算法使用。经典的EM风格算法是“完整的“。通过使用三角不等式,"elkan'‘变体更有效, 但目前不支持稀疏数据。"auto"为密集数据选择‘'elkan",为稀疏数据选择’'full" |
重要属性
属性 | 含义 |
---|---|
cluster_centers_ | 收敛导质心,如果算法在完全收敛之前就停下了(受到参数max_iter和tol的控制),所返回的内容与labels_属性中反应出来的聚类的结果不一致 |
labels_ | 每个样本点对应的标签 |
intertia_ | 每个样本到距离他们最近的簇心的均方距离,又叫做"簇内平方和" |
n_iter_ | 实际的迭代次数 |
接口
接口 | 输入 | 功能&返回 |
---|---|---|
fit | 训练特征矩阵x,[训练用标签,sample_weight] | 拟合模型,计算K均值的聚类结果 |
fit_predict | 训练特征矩阵x,[训练用标签,sample_weight] | 返回每个样本所对应的簇的索引 计算质心并且为每个样本预测所在的簇的索引功能相当于 |
fit_transform | 训练特征矩阵x,[训练用标签,sample_weight] | 返回新空间中的特征矩阵 进行聚类并且将特征矩阵x转换到彻巨离空间当中,功能相当于先fit再transform |
get_params | 不需要任何输入 | 获取该类的参数 |
predict | 训练特征矩阵x,[sample_weight] | 预测每个测试集x中的样本的所在簇,并返回每个样本所对应的簇的索引 在矢量呈化的相关文献中,cluster_centers_被称为代码簿,predict返回的每个值是代码簿中最接近的代码的索引 |
score | 训练特征矩阵x,[训练用标签,sample_weight] | 返回聚类后的Inertia,即簇内平方和的负数 簇内平方和是Kmeans常用的模型评价指标簇内平方和越小越好,最佳值为0 |
set_params | 需要新设定的参数 | 为建立好的类重设参数 |
transform | 任意特征矩阵X | 将x转换到簇距离空间中 在新空间中,每个维度(即每个坐标轴)是样本点到集群中心的距离。请注意:即使X是稀疏的,变换返回的数组通常也是密集的。 |