本文简要介绍python语言中 sklearn.cluster.MeanShift
的用法。
用法:
class sklearn.cluster.MeanShift(*, bandwidth=None, seeds=None, bin_seeding=False, min_bin_freq=1, cluster_all=True, n_jobs=None, max_iter=300)
使用平面内核的均值移位聚类。
均值漂移聚类旨在以平滑的样本密度发现“blobs”。它是一种基于质心的算法,其工作原理是将质心候选更新为给定区域内点的平均值。然后在后处理阶段对这些候选进行过滤,以消除near-duplicates,形成最终的质心集。
使用分级技术执行播种以实现可扩展性。
在用户指南中阅读更多信息。
- bandwidth:浮点数,默认=无
RBF 内核中使用的带宽。
如果未给出,则使用 sklearn.cluster.estimate_bandwidth 估计带宽;有关可伸缩性的提示,请参阅该函数的文档(另请参阅下面的注释)。
- seeds:形状类似数组(n_samples,n_features),默认=无
用于初始化内核的种子。如果未设置,则通过聚类计算种子。get_bin_seeds 以带宽为网格大小,其他参数为默认值。
- bin_seeding:布尔,默认=假
如果为真,则初始内核位置不是所有点的位置,而是点的离散版本的位置,其中点被分箱到粗糙度对应于带宽的网格上。将此选项设置为 True 将加速算法,因为将初始化更少的种子。默认值为假。如果种子参数不是无,则忽略。
- min_bin_freq:整数,默认=1
为了加快算法速度,只接受那些至少有 min_bin_freq 点的 bin 作为种子。
- cluster_all:布尔,默认=真
如果为真,那么所有点都会被聚集,即使是那些不在任何内核中的孤儿也是如此。孤儿被分配给最近的内核。如果为 false,则给孤儿集群标签 -1。
- n_jobs:整数,默认=无
用于计算的作业数。这是通过计算每个 n_init 并行运行来实现的。
None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有处理器。有关详细信息,请参阅词汇表。- max_iter:整数,默认=300
如果尚未收敛,则在聚类操作终止(对于该种子点)之前每个种子点的最大迭代次数。
- cluster_centers_:ndarray 形状(n_clusters,n_features)
聚类中心的坐标。
- labels_:ndarray 形状 (n_samples,)
每个点的标签。
- n_iter_:int
对每个种子执行的最大迭代次数。
- n_features_in_:int
拟合期间看到的特征数。
- feature_names_in_:ndarray 形状(
n_features_in_
,) 拟合期间看到的特征名称。仅当
X
具有全为字符串的函数名称时才定义。
参数:
属性:
注意:
可扩展性:
因为这个实现使用扁平内核和球树来查找每个内核的成员,所以复杂度将趋向于 O(T*n*log(n)) 在较低维度上,其中 n 是样本数,T 是点。在更高维度上,复杂度将趋向于 O(T*n^2)。
可通过使用更少的种子来提高可扩展性,例如在get_bin_seeds 函数中使用较高的min_bin_freq 值。
请注意,estimate_bandwidth 函数的可扩展性远低于均值偏移算法,如果使用它将成为瓶颈。
参考:
Dorin Comaniciu 和 Peter Meer,“均值偏移:特征空间分析的稳健方法”。 IEEE 模式分析和机器智能汇刊。 2002. 第 603-619 页。
例子:
>>> from sklearn.cluster import MeanShift >>> import numpy as np >>> X = np.array([[1, 1], [2, 1], [1, 0], ... [4, 7], [3, 5], [3, 6]]) >>> clustering = MeanShift(bandwidth=2).fit(X) >>> clustering.labels_ array([1, 1, 1, 0, 0, 0]) >>> clustering.predict([[0, 0], [5, 5]]) array([1, 0]) >>> clustering MeanShift(bandwidth=2)
相关用法
- Python sklearn MDS用法及代码示例
- Python sklearn MLPClassifier用法及代码示例
- Python sklearn MultiTaskLasso用法及代码示例
- Python sklearn MultiTaskLassoCV用法及代码示例
- Python sklearn MinMaxScaler用法及代码示例
- Python sklearn MiniBatchSparsePCA用法及代码示例
- Python sklearn MultiTaskLasso.path用法及代码示例
- Python sklearn MultiOutputClassifier用法及代码示例
- Python sklearn MultiTaskElasticNet.path用法及代码示例
- Python sklearn MultiTaskElasticNetCV.path用法及代码示例
- Python sklearn MiniBatchKMeans用法及代码示例
- Python sklearn MultiTaskElasticNetCV用法及代码示例
- Python sklearn MLPRegressor用法及代码示例
- Python sklearn MultiLabelBinarizer用法及代码示例
- Python sklearn MultiOutputRegressor用法及代码示例
- Python sklearn MultiTaskLassoCV.path用法及代码示例
- Python sklearn Matern用法及代码示例
- Python sklearn MaxAbsScaler用法及代码示例
- Python sklearn MiniBatchDictionaryLearning用法及代码示例
- Python sklearn MultiTaskElasticNet用法及代码示例
- Python sklearn MinCovDet用法及代码示例
- Python sklearn MultinomialNB用法及代码示例
- Python sklearn MissingIndicator用法及代码示例
- Python sklearn jaccard_score用法及代码示例
- Python sklearn WhiteKernel用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.cluster.MeanShift。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。