當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn RadiusNeighborsClassifier用法及代碼示例


本文簡要介紹python語言中 sklearn.neighbors.RadiusNeighborsClassifier 的用法。

用法:

class sklearn.neighbors.RadiusNeighborsClassifier(radius=1.0, *, weights='uniform', algorithm='auto', leaf_size=30, p=2, metric='minkowski', outlier_label=None, metric_params=None, n_jobs=None, **kwargs)

分類器在給定半徑內的鄰居之間實現投票。

在用戶指南中閱讀更多信息。

參數

radius浮點數,默認=1.0

radius_neighbors 查詢默認使用的參數空間範圍。

weights{‘uniform’, ‘distance’} 或可調用,默認='uniform'

預測中使用的權重函數。可能的值:

  • ‘uniform’:統一權重。每個鄰域中的所有點的權重相等。
  • ‘distance’:權重點按距離的倒數計算。在這種情況下,查詢點的較近的鄰居將比較遠的鄰居具有更大的影響。
  • [callable]:一個用戶定義的函數,它接受一個距離數組,並返回一個包含權重的相同形狀的數組。

默認情況下使用統一權重。

algorithm{‘auto’, ‘ball_tree’,‘kd_tree’, ‘brute’},默認='自動'

用於計算最近鄰的算法:

  • ‘ball_tree’ 將使用 BallTree
  • ‘kd_tree’ 將使用 KDTree
  • ‘brute’ 將使用蠻力搜索。
  • ‘auto’ 將嘗試根據傳遞給 fit 方法的值來決定最合適的算法。

注意:擬合稀疏輸入將使用蠻力覆蓋此參數的設置。

leaf_size整數,默認=30

葉大小傳遞給BallTree 或 KDTree。這會影響構建和查詢的速度,以及存儲樹所需的內存。最佳值取決於問題的性質。

p整數,默認=2

Minkowski 度量的功率參數。當 p = 1 時,這相當於使用 manhattan_distance (l1),而對於 p = 2,則使用 euclidean_distance (l2)。對於任意 p,使用 minkowski_distance (l_p)。

metricstr 或可調用,默認='minkowski'

用於樹的距離度量。默認度量是 minkowski,並且 p=2 等效於標準歐幾裏得度量。有關可用指標的列表,請參閱 DistanceMetric 的文檔。如果 metric 是 “precomputed”,則 X 被假定為一個距離矩陣,並且在擬合期間必須是正方形。 X 可能是一個稀疏圖,在這種情況下,隻有“nonzero” 元素可以被認為是鄰居。

outlier_label{手動標簽,‘most_frequent’},默認=無

異常樣本的標簽(在給定半徑內沒有鄰居的樣本)。

  • 手動標簽:str 或 int 標簽(應與 y 類型相同)或手動標簽列表(如果使用 multi-output)。
  • ‘most_frequent’:將y的最頻繁標簽分配給異常值。
  • 無:當檢測到任何異常值時,將引發ValueError。
metric_params字典,默認=無

度量函數的附加關鍵字參數。

n_jobs整數,默認=無

為鄰居搜索運行的並行作業數。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有處理器。有關詳細信息,請參閱詞匯表。

**kwargsdict

傳遞給構造函數的附加關鍵字參數。

屬性

classes_ndarray 形狀 (n_classes,)

分類器已知的類標簽。

effective_metric_str 或可調用

使用的距離度量。它將與 metric 參數或其同義詞相同,例如‘euclidean’ 如果 metric 參數設置為 ‘minkowski’ 並且 p 參數設置為 2。

effective_metric_params_dict

度量函數的附加關鍵字參數。大多數指標與metric_params 參數相同,但如果effective_metric_ 屬性設置為‘minkowski’,也可能包含p 參數值。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

n_samples_fit_int

擬合數據中的樣本數。

outlier_label_int 或類似數組的形狀 (n_class,)

為異常樣本(在給定半徑上沒有鄰居的樣本)給出的標簽。

outputs_2d_bool

y 的形狀在擬合期間為 (n_samples, ) 或 (n_samples, 1) 時為 False,否則為 True。

注意

有關選擇 algorithmleaf_size 的討論,請參閱在線文檔中的最近鄰居。

https://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm

例子

>>> X = [[0], [1], [2], [3]]
>>> y = [0, 0, 1, 1]
>>> from sklearn.neighbors import RadiusNeighborsClassifier
>>> neigh = RadiusNeighborsClassifier(radius=1.0)
>>> neigh.fit(X, y)
RadiusNeighborsClassifier(...)
>>> print(neigh.predict([[1.5]]))
[0]
>>> print(neigh.predict_proba([[1.0]]))
[[0.66666667 0.33333333]]

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.neighbors.RadiusNeighborsClassifier。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。