estimate_bandwidth#
- sklearn.cluster.estimate_bandwidth(X, *, quantile=0.3, n_samples=None, random_state=0, n_jobs=None)[source]#
估算与 mean-shift 算法一起使用的带宽。
此函数的时间复杂度至少为
n_samples的平方。对于大型数据集,通过设置n_samples进行子采样是明智的。或者,可以在不进行估计的情况下将参数bandwidth设置为一个较小的值。- 参数:
- Xshape 为 (n_samples, n_features) 的 array-like
输入点。
- quantilefloat, default=0.3
应在 [0, 1] 之间。0.5 意味着使用所有成对距离的中位数。
- n_samplesint, default=None
要使用的样本数量。如果未给出,则使用所有样本。
- random_stateint, RandomState instance, default=None
用于从输入点中随机选择样本进行带宽估计的生成器。使用整数使随机性具有确定性。参见 Glossary。
- n_jobsint, default=None
用于邻居搜索的并行作业数。
None表示 1,除非在joblib.parallel_backend上下文中。-1表示使用所有处理器。有关详细信息,请参阅 词汇表。
- 返回:
- bandwidthfloat
带宽参数。
示例
>>> 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) np.float64(1.61)