估计带宽#

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

估计均值漂移算法中使用的带宽。

此函数的时间复杂度至少为n_samples的二次方。对于大型数据集,最好通过设置n_samples进行下采样。或者,可以将参数bandwidth设置为较小的值,而无需对其进行估计。

参数:
X形状为 (n_samples, n_features) 的类数组

输入点。

quantile浮点数,默认为 0.3

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

n_samples整数,默认为 None

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

random_state整数、RandomState 实例,默认为 None

用于从输入点中随机选择样本以进行带宽估计的生成器。使用整数可以使随机性确定性。参见 词汇表

n_jobs整数,默认为 None

为邻居搜索运行的并行作业数。None 表示 1,除非在 joblib.parallel_backend 上下文中。-1 表示使用所有处理器。有关更多详细信息,请参见 词汇表

返回:
bandwidth浮点数

带宽参数。

示例

>>> 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...)