对不带标签的数据进行学习。
k均值算法(k-Means)(sklearn.cluster.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’)
n_clusters=8
聚类数。init='k-means++'
初始化聚类中心方法。/ ‘auto’ / 数组shape (n_clusters, n_features)n_init=1
算法选择不同聚类中心运行的次数,保留最好的结果。max_iter=300
单次运行的最大迭代数目。tol=0.0001
停止迭代的相对误差界限。precompute_distances='auto'
{‘auto’, True, False}是否预先计算距离,选择’auto’时,当n_samples * n_clusters>1,000,000 则不预先计算。verbose=0
intrandom_state=None
如果是int,则random_state是随机数生成器使用的种子; 如果是RandomState实例,则random_state是随机数生成器; 如果为None,则随机数生成器是np.random。copy_x=True
是否拷贝训练数据。n_jobs=None
并行作业数。algorithm='auto'
“auto”, “full” or “elkan”. 指定要使用的算法。
1 | from sklearn.cluster import KMeans |
自底向上层次聚类(sklearn.cluster.AgglomerativeClustering)
层次聚类可分为两类:自顶向下, diverse;自底向上, agglomerative。
AgglomerativeClustering(n_clusters=2, affinity=’euclidean’, memory=None, connectivity=None, compute_full_tree=’auto’, linkage=’ward’, pooling_func=’deprecated’)
n_clusters=2
最终的聚类数。affinity='euclidean'
{‘euclidean’, ‘l1’, ‘l2’, ‘manhattan’, ‘cosine’, ‘precomputed’}. 用于计算距离,当linkage=’ward’,只支持’euclidean’。memory=None
默认不缓存计算树的输出,以字符指定缓存路径。connectivity=None
一个数组或者可调用对象或者None,用于指定连接矩阵compute_full_tree='auto'
通常当训练了n_clusters后,训练过程就会停止,但是如果compute_full_tree=True,则会继续训练从而生成一颗完整的树。linkage='ward'
一个字符串,用于指定链接算法。’ward’:单链接; ‘complete’:全链接; ‘average’:均连接。pooling_func='deprecated'
一个可调用对象,它的输入是一组特征的值,输出是一个数
1 | from sklearn.cluster import AgglomerativeClustering |