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


Python sklearn RadiusNeighborsTransformer用法及代碼示例


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

用法:

class sklearn.neighbors.RadiusNeighborsTransformer(*, mode='distance', radius=1.0, algorithm='auto', leaf_size=30, metric='minkowski', p=2, metric_params=None, n_jobs=1)

將 X 轉換為比半徑更近的鄰居的(加權)圖。

轉換後的數據是由 radius_neighbors_graph 返回的稀疏圖。

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

參數

mode{‘distance’, ‘connectivity’},默認='距離'

返回矩陣的類型:‘connectivity’ 將返回具有 1 和 0 的連接矩陣,‘distance’ 將根據給定度量返回鄰居之間的距離。

radius浮點數,默認=1.0

變換後的稀疏圖中的鄰域半徑。

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

用於計算最近鄰的算法:

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

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

leaf_size整數,默認=30

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

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

用於距離計算的度量。可以使用來自 scikit-learn 或 scipy.spatial.distance 的任何度量。

如果 metric 是一個可調用函數,則在每對實例(行)上調用它並記錄結果值。可調用對象應將兩個數組作為輸入並返回一個值,指示它們之間的距離。這適用於 Scipy 的指標,但效率低於將指標名稱作為字符串傳遞。

不支持距離矩陣。

指標的有效值為:

  • 來自scikit-learn:[‘cityblock’, ‘cosine’, ‘euclidean’,‘l1’, ‘l2’,‘manhattan’]
  • 來自 scipy.spatial.distance: [‘braycurtis’, ‘canberra’, ‘chebyshev’, ‘correlation’, ‘dice’, ‘hamming’, ‘jaccard’, ‘kulsinski’, ‘mahalanobis’, ‘minkowski’, ‘rogerstanimoto’, ‘russellrao’, ‘seuclidean’, ‘sokalmichener’, ‘sokalsneath’, ‘sqeuclidean’, ‘yule’]

有關這些指標的詳細信息,請參閱scipy.spatial.distance 的文檔。

p整數,默認=2

來自 sklearn.metrics.pairwise.pairwise_distances 的 Minkowski 度量的參數。當 p = 1 時,這相當於使用 manhattan_distance (l1),而對於 p = 2,則使用 euclidean_distance (l2)。對於任意 p,使用 minkowski_distance (l_p)。

metric_params字典,默認=無

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

n_jobs整數,默認=1

為鄰居搜索運行的並行作業數。如果 -1 ,則作業數設置為 CPU 內核數。

屬性

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

擬合數據中的樣本數。

例子

>>> import numpy as np
>>> from sklearn.datasets import load_wine
>>> from sklearn.cluster import DBSCAN
>>> from sklearn.neighbors import RadiusNeighborsTransformer
>>> from sklearn.pipeline import make_pipeline
>>> X, _ = load_wine(return_X_y=True)
>>> estimator = make_pipeline(
...     RadiusNeighborsTransformer(radius=42.0, mode='distance'),
...     DBSCAN(eps=25.0, metric='precomputed'))
>>> X_clustered = estimator.fit_predict(X)
>>> clusters, counts = np.unique(X_clustered, return_counts=True)
>>> print(counts)
[ 29  15 111  11  12]

相關用法


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