dask_ml.cluster.KMeans
dask_ml.cluster.KMeans¶
- class dask_ml.cluster.KMeans(n_clusters=8, init='k-means||', oversampling_factor=2, max_iter=300, tol=0.0001, precompute_distances='auto', random_state=None, copy_x=True, n_jobs=1, algorithm='full', init_max_iter=None, n_init='auto')[源代码]¶
可扩展的 KMeans 用于聚类
- 参数
- n_clustersint, 默认 8
最终得到的聚类数量
- 初始化{‘k-means||’, ‘k-means++’ 或 ndarray}
中心初始化方法,默认为 ‘k-means||’。
‘k-means||’ : 选择 gg
‘k-means++’ : 以一种智能的方式选择初始聚类中心,以加快收敛速度。使用scikit-learn的实现。
警告
如果使用
'k-means++',整个数据集将被一次性读入内存。一个形状为 (n_clusters, n_features) 的数组可以用来给出一个显式的起点
- oversampling_factorint, 默认值为 2
在
k-means||算法中使用的过采样因子。- max_iter整数
尝试的最大 EM 迭代次数。
- init_max_iter整数
初始步骤的迭代次数。
- tol浮动
关于惯性的相对容差以声明收敛
- 算法‘完整’
用于EM步骤的算法。仅允许使用“full”(Lloyd算法)。
- random_stateint, RandomState 实例或 None, 可选, 默认: None
如果为整数,random_state 是随机数生成器使用的种子;如果为 RandomState 实例,random_state 是随机数生成器;如果为 None,随机数生成器是 np.random 使用的 RandomState 实例。
- n_init‘auto’ 或 int, 默认值=10
k-means 算法将以不同的质心种子运行多次。最终结果将是 n_init 次连续运行中惯性最小的输出。当 n_init=’auto’ 时,如果使用 init=’random’,运行次数将为 10,如果使用 init=’kmeans++’,运行次数将为 1。 .. versionadded:: 1.2
为 n_init 添加了 ‘auto’ 选项。
在 1.4 版更改: n_init 的默认值将在版本 1.4 中从 10 更改为 ‘auto’。
- 属性
- cluster_centers_np.ndarray [n_clusters, n_features]
包含聚类中心的NumPy数组
- 标签_da.array [n_samples,]
一个dask数组,包含该样本所属的``cluster_centers_``中的索引位置。
- inertia_浮动
样本到其最近聚类中心距离的总和。
- n_iter_整数
达到收敛所需的EM步骤数
注释
此类实现了 k-Means 的并行和分布式版本。
使用k-means||进行初始化
KMeans的默认初始化方法是k-means||,与 scikit-learn 中的k-means++不同。这是在 Scalable K-Means++ (2012) 中描述的算法。k-means||设计用于在分布式环境中表现良好。它是 k-means++ 的一个变体,专为并行工作设计(k-means++ 本质上是顺序的)。目前,如果您的整个数据集适合单台机器的内存,这里的k-means||实现比 scikit-learn 的k-means++慢。如果是这种情况,请考虑使用init='k-means++'。并行Lloyd算法
Lloyd 算法(scikit-learn 中使用的默认期望最大化算法)是自然可并行化的。在简单的基准测试中,这里的实现比 scikit-learn 快 2-3 倍。
初始化步骤和EM步骤都会对数据进行多次遍历。如果可能,在运行
.fit之前,请将您的dask集合持久化到(分布式)内存中。参考文献
可扩展的 K-Means++,2012 Bahman Bahmani, Benjamin Moseley, Andrea Vattani, Ravi Kumar, Sergei Vassilvitskii https://arxiv.org/abs/1203.6402
方法
fit_transform(X[, y])拟合数据,然后进行转换。
get_metadata_routing()获取此对象的元数据路由。
get_params([deep])获取此估计器的参数。
predict(X)预测X中的每个样本最接近的簇。
set_output(*[, transform])设置输出容器。
set_params(**params)设置此估计器的参数。
拟合
变换