dask_ml.cluster.SpectralClustering
dask_ml.cluster
.SpectralClustering¶
- class dask_ml.cluster.SpectralClustering(n_clusters=8, eigen_solver=None, random_state=None, n_init='auto', gamma=1.0, affinity='rbf', n_neighbors=10, eigen_tol=0.0, assign_labels='kmeans', degree=3, coef0=1, kernel_params=None, n_jobs=1, n_components=100, persist_embedding=False, kmeans_params=None)¶
应用并行谱聚类
此实现避免了昂贵的 N x N 亲和力矩阵计算。取而代之的是,使用 Nyström 方法作为近似。
- 参数
- n_clusters整数,可选
投影子空间的维度。
- eigen_solverNone
忽略
- random_state整数,RandomState 实例或 None,可选,默认值:None
用于当 eigen_solver == ‘amg’ 时初始化 lobpcg 特征向量分解以及用于 K-Means 初始化的伪随机数生成器。如果为整数,random_state 是随机数生成器使用的种子;如果为 RandomState 实例,random_state 是随机数生成器;如果为 None,随机数生成器是 np.random 使用的 RandomState 实例。
- n_init整数,可选,默认值:10
忽略
- gamma浮点数,默认值:1.0
rbf, poly, sigmoid, laplacian 和 chi2 核的核系数。对于
affinity='nearest_neighbors'
会被忽略。- affinity字符串,类数组对象或可调用对象,默认值:‘rbf’
可以是 ‘precomputed’ 或 metrics.pairwise.PAIRWISE_KERNEL_FUNCTIONS 支持的其中一个核函数。
只能使用产生相似度分数(非负值,随相似度增加而增加)的核函数。聚类算法不会检查此属性。
可调用对象应接受与 sklearn.metrics.pairwise_kernels 类似的参数:必需的
X
,可选的Y
,以及gamma
,degree
,coef0
,以及在kernel_params
中传递的任何关键字参数。- n_neighbors整数
使用最近邻方法构建亲和力矩阵时使用的邻居数量。对于
affinity='rbf'
会被忽略。- eigen_tol浮点数,可选,默认值:0.0
使用 arpack eigen_solver 时,拉普拉斯矩阵特征分解的停止准则。
- assign_labels‘kmeans’ 或 Estimator,默认值:‘kmeans’
用于在嵌入空间中分配标签的策略。默认情况下,创建一个
dask_ml.cluster.KMeans
实例并将 n_clusters 设置为 2。为了进一步控制最终标签分配的超参数,可以传递一个KMeans
估计器的实例(可以是 scikit-learn 或 dask-ml 的)。- degree浮点数,默认值:3
多项式核的次数。其他核会忽略此参数。
- coef0浮点数,默认值:1
多项式和 Sigmoid 核的零系数。其他核会忽略此参数。
- kernel_params字符串到任意类型的字典,可选
作为可调用对象传递的核函数的参数(关键字参数)及其值。其他核会忽略此参数。
- n_jobs整数,可选(默认值 = 1)
要运行的并行作业数量。如果为
-1
,则作业数量设置为 CPU 核心数量。- n_components整数,默认值 100
用于 Nyström 近似的
X
的行数。较大的n_components
将提高近似的准确性,但代价是更长的训练时间。- persist_embedding布尔值
是否持久化用于聚类的中间 n_samples x n_components 数组。
- kmeans_params字符串到任意类型的字典,可选
用于最终聚类的 KMeans 聚类算法的关键字参数。
- 属性
- assign_labels_估计器
用于分配标签的 KMeans 估计器实例
- labels_dask.array.Array,大小 (n_samples,)
分配的聚类标签
- eigenvalues_numpy.ndarray
采样点 SVD 的特征值
注意
使用
persist_embedding=True
可以是一种重要的优化,以避免一些冗余计算。这会将馈送到聚类算法的数组持久化到(分布式)内存中。该数组的形状为n_samples x n_components
。参考文献
分布式系统中的并行谱聚类,2010 Chen, Song, Bai, Lin, and Chang IEEE Transactions on Pattern Analysis and Machine Intelligence http://ieeexplore.ieee.org/document/5444877/
使用 Nystrom 方法的谱分组 (2004) Fowlkes, Belongie, Chung, Malik IEEE Transactions on Pattern Analysis and Machine Intelligence https://people.cs.umass.edu/~mahadeva/cs791bb/reading/fowlkes-nystrom.pdf
方法
fit_predict
(X[, y])在 X 上执行聚类并返回聚类标签。
get_metadata_routing
()获取此对象的元数据路由。
get_params
([deep])获取此估计器的参数。
set_params
(**params)设置此估计器的参数。
fit
- __init__(n_clusters=8, eigen_solver=None, random_state=None, n_init='auto', gamma=1.0, affinity='rbf', n_neighbors=10, eigen_tol=0.0, assign_labels='kmeans', degree=3, coef0=1, kernel_params=None, n_jobs=1, n_components=100, persist_embedding=False, kmeans_params=None)¶