估計頻寬 (estimate_bandwidth)#

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

估計用於均值漂移演算法的頻寬。

此函數的執行時間至少與 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...)