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


Python sklearn partial_dependence用法及代碼示例

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

用法:

sklearn.inspection.partial_dependence(estimator, X, features, *, response_method='auto', percentiles=(0.05, 0.95), grid_resolution=100, method='auto', kind='legacy')

features 的部分依賴。

一個特征(或一組特征)的部分依賴對應於一個估計器對特征的每個可能值的平均響應。

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

警告

對於 GradientBoostingClassifier GradientBoostingRegressor 'recursion' 方法(默認使用)將不考慮提升過程的 init 預測器。在實踐中,這將產生與 'brute' 相同的值,直到目標響應中的恒定偏移量,前提是 init 是一個常數估計器(這是默認值)。但是,如果 init 不是常數估計量,則 'recursion' 的部分相關值不正確,因為偏移量將為 sample-dependent。最好使用'brute' 方法。請注意,這僅適用於 GradientBoostingClassifier GradientBoostingRegressor ,不適用於 HistGradientBoostingClassifier HistGradientBoostingRegressor

參數

estimatorBaseEstimator

實現預測、predict_proba 或 decision_function 的擬合估計器對象。不支持Multioutput-multiclass 分類器。

X{類似數組或 DataFrame },形狀為 (n_samples, n_features)

X 用於為目標 features 生成值網格(將評估部分相關性),並在 method 為 ‘brute’ 時為補充特征生成值。

features{int, str} 的類似數組

應該計算部分依賴關係的特征(例如 [0] )或交互特征對(例如 [(0, 1)] )。

response_method{‘auto’, ‘predict_proba’,‘decision_function’},默認='自動'

指定是使用predict_proba 還是decision_function 作為目標響應。對於回歸器,此參數被忽略,響應始終是預測的輸出。默認情況下,首先嘗試predict_proba,如果不存在,我們將恢複為decision_function。如果method 是‘recursion’,則響應始終是decision_function 的輸出。

percentiles浮點元組,默認=(0.05, 0.95)

用於創建網格極值的下百分位數和上百分位數。必須在 [0, 1] 中。

grid_resolution整數,默認=100

每個目標要素的網格上等距點的數量。

method{‘auto’, ‘recursion’, ‘brute’},默認='自動'

用於計算平均預測的方法:

請參閱此注釋了解'brute''recursion' 方法之間的差異。

kind{‘legacy’, ‘average’, ‘individual’, ‘both’},默認='舊版'

是返回數據集中所有樣本的平均部分相關性,還是每個樣本一行,或兩者兼而有之。請參閱下麵的返回。

請注意,快速 method='recursion' 選項僅適用於 kind='average' 。繪製單個依賴項需要使用較慢的 method='brute' 選項。

返回

predictionsndarray 或 Bunch
  • 如果 kind='legacy' ,返回值是形狀的 ndarray (n_outputs, len(values[0]), len(values[1]), ...)

    對網格中所有點的預測,對 X 中的所有樣本進行平均(如果 method 是 ‘recursion’,則對訓練數據進行平均)。

  • 如果kind='individual''average''both',返回值為 Bunch

    類似字典的對象,具有以下屬性。

    個人ndarray 形狀 (n_outputs, n_instances, len(values[0]), len(values[1]), ...)

    X 中所有樣本的網格中所有點的預測。這也稱為個體條件期望 (ICE)

    平均的ndarray 形狀 (n_outputs, len(values[0]), len(values[1]), ...)

    對網格中所有點的預測,對 X 中的所有樣本進行平均(如果 method 是 ‘recursion’,則對訓練數據進行平均)。僅當 kind='both' 時可用。

    一維ndarrays的序列

    創建網格時使用的值。生成的網格是 values 中數組的笛卡爾積。 len(values) == len(features) 。每個數組 values[j] 的大小是 grid_resolutionX[:, j] 中唯一值的數量,以較小者為準。

n_outputs 對應於多類設置中的類數,或 multi-output 回歸的任務數。對於經典回歸和二元分類n_outputs==1n_values_feature_j 對應於大小 values[j]

values一維ndarrays的序列

創建網格時使用的值。生成的網格是 values 中數組的笛卡爾積。 len(values) == len(features) 。每個數組 values[j] 的大小是 grid_resolutionX[:, j] 中唯一值的數量,以較小者為準。僅在 kind="legacy" 時可用。

例子

>>> X = [[0, 0, 2], [1, 0, 0]]
>>> y = [0, 1]
>>> from sklearn.ensemble import GradientBoostingClassifier
>>> gb = GradientBoostingClassifier(random_state=0).fit(X, y)
>>> partial_dependence(gb, features=[0], X=X, percentiles=(0, 1),
...                    grid_resolution=2) 
(array([[-4.52...,  4.52...]]), [array([ 0.,  1.])])

相關用法


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