estimate_bandwidth#

sklearn.cluster.estimate_bandwidth(X, *, quantile=0.3, n_samples=None, random_state=0, n_jobs=None)[源]#

估算用于均值漂移(mean-shift)算法的带宽。

此函数运行时间至少与 n_samples 的平方成正比。对于大型数据集,建议通过设置 n_samples 来进行二次抽样。或者,也可以直接将参数 bandwidth 设置为一个较小的值,而不进行估算。

参数:
Xarray-like of shape (n_samples, n_features)

输入点。

quantilefloat, default=0.3

应介于 [0, 1] 之间。0.5 表示使用所有成对距离的中位数。

n_samplesint, default=None

要使用的样本数量。如果未给出,则使用所有样本。

random_stateint, RandomState instance, default=None

用于从输入点中随机选择样本以进行带宽估算的生成器。使用整数使随机性确定。请参阅术语表

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)