estimate_bandwidth#
- sklearn.cluster.estimate_bandwidth(X, *, quantile=0.3, n_samples=None, random_state=0, n_jobs=None)#
估计用于均值漂移算法的带宽。
此函数的时间复杂度至少是
n_samples
的二次方。对于大型数据集,明智的做法是通过设置n_samples
进行子采样。或者,可以不进行估计,将参数bandwidth
设置为一个小值。- Parameters:
- X形状为 (n_samples, n_features) 的类数组
输入点。
- quantile浮点数, 默认=0.3
应在 [0, 1] 之间 0.5 表示使用所有成对距离的中位数。
- n_samples整数, 默认=None
要使用的样本数量。如果未给出,则使用所有样本。
- random_state整数, RandomState 实例, 默认=None
用于从输入点中随机选择样本以进行带宽估计的生成器。使用整数使随机性确定。 参见 Glossary 。
- n_jobs整数, 默认=None
用于邻居搜索的并行作业数。
None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有处理器。参见 Glossary 了解更多详情。
- Returns:
- bandwidth浮点数
带宽参数。
Examples
>>> import numpy as np >>> from sklearn.cluster import estimate_bandwidth >>> X = np.array([[1, 1], [2, 1], [1, 0], ... [4, 7], [3, 5], [3, 6]]) >>> estimate_bandwidth(X, quantile=0.5) 1.61...
Gallery examples#
在玩具数据集上比较不同的聚类算法
均值漂移聚类算法示例