sklearn-K-means
[toc]
k-means
1 | sklearn.cluster.KMeans(n_clusters=8,max_iter=300,init='k_means++',n_init=10,algorithm='auto',random_state=None) |
参数
init
初始化聚类中心的方式
k-means++
randomn_init
指定选择不同的初始化聚类中心运行算法的次数algorithm
距离度量算法
auto
full 传统的K-means,二范数度量距离
elkan 使用elkan-K-means 数据稠密的选择ramdom_state
用于产生初始化聚类中心的随机化种子
属性
cluster_centers_
输出各个聚类中心的向量labels
输出各个簇的类别
方法
fit(X)
训练聚类模型fit-predict(X)
在X上执行数据集,返回样本的簇标记predict(X)
预测样本集X上每个样本最接近的簇
miniBatch K-means
1 | sklearn.cluster.MiniBatchKMeans(n_clusters=8,max_iter=300,init='k_means++',n_init=3,init_size=None,random_state=None,batch_size=100,reassignment_ratio=0.01,max_no_improvement=10) |
参数
init_size
用来做聚类中心初始值候选的样本个数random_state
产生初始化聚类中心的随机化种子batch_size
小批量样本数目reassignment_ratio
某个聚类中心被重新赋值的次数占所有聚类中心被重新赋值次数的比例max_no_improvement
当连续多个mini batch没有改善聚类效果时,停止算法
属性
cluster_centers_
输出各个聚类中心向量labels_
输出各个簇的标签
方法
fit(X)
在X上执行数据集fit_predict(X)
在X上执行数据集,返回样本X的簇标记partial_fit(X)
在单个minBatch上更新K-meanspredict(X)
预测X中每个样本接近的簇
##层次聚类
1 | sklean.cluster.AgglomerativeClustering(n_clusters=2,affinity='euclidean',compute_full_tree='auto',linkage=ward') |
密度聚类
1 | sklearn.cluster.DBSCAN(eps=0.5,min_sampels=5,metric='euclidean',algorithm='auto',leaf_size=30) |
谱聚类
1 | sklearn.cluster.spectral_clustering(n_clusters=8,affinity,assign_labels='kmeans') |
EM 高斯混合模型
1 | sklearn.mixtures.GaussianMixtures(n_components=1,tol=0.001,max_iter=100) |
参数
n_components
指定混合高斯模型的成分数目tol
收敛阈值,当下限平均增益低于该阈值时,EM迭代停止max_iter
EM迭代次数
方法
fit(X,y)
使用EM算法估计模型参数predict(X)
预测标签predict_proba(X)
属于各个成分的概率score(X,y)
计算样本的平均对数损失值
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com
文章标题:sklearn-K-means
本文作者:Espresso
发布时间:2019-12-05, 17:40:08
最后更新:2019-12-05, 18:14:20
原始链接:http://yoursite.com/2019/12/05/sklearn-K-means/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。