本文簡要介紹python語言中 sklearn.inspection.plot_partial_dependence
的用法。
用法:
sklearn.inspection.plot_partial_dependence(estimator, X, features, *, feature_names=None, target=None, response_method='auto', n_cols=3, grid_resolution=100, percentiles=(0.05, 0.95), method='auto', n_jobs=None, verbose=0, line_kw=None, ice_lines_kw=None, pd_line_kw=None, contour_kw=None, ax=None, kind='average', subsample=1000, random_state=None)
已棄用:函數
plot_partial_dependence
在 1.0 中已棄用,並將在 1.2 中刪除。改用 PartialDependenceDisplay.from_estimator部分依賴 (PD) 和個體條件期望 (ICE) 圖。
通過設置
kind
參數,可以繪製部分依賴圖、單獨條件期望圖或兩者的疊加。len(features)
繪圖排列在帶有n_cols
列的網格中。雙向部分相關圖繪製為等高線圖。對於 one-way 圖,特征值的十分位數將在 x 軸上顯示為刻度線,對於雙向圖,特征值的十分位數將在兩個軸上顯示為刻度線。在用戶指南中閱讀更多信息。
注意
plot_partial_dependence
不支持多次調用使用相同的軸。要繪製多個估算器的部分依賴性,請將第一次調用創建的軸傳遞給第二次調用:>>> from sklearn.inspection import plot_partial_dependence >>> from sklearn.datasets import make_friedman1 >>> from sklearn.linear_model import LinearRegression >>> from sklearn.ensemble import RandomForestRegressor >>> X, y = make_friedman1() >>> est1 = LinearRegression().fit(X, y) >>> est2 = RandomForestRegressor().fit(X, y) >>> disp1 = plot_partial_dependence(est1, X, ... [1, 2]) >>> disp2 = plot_partial_dependence(est2, X, [1, 2], ... ax=disp1.axes_)
警告
對於
GradientBoostingClassifier
和GradientBoostingRegressor
,'recursion'
方法(默認使用)將不考慮提升過程的init
預測器。在實踐中,這將產生與'brute'
相同的值,直到目標響應中的恒定偏移量,前提是init
是一個常數估計器(這是默認值)。但是,如果init
不是常數估計量,則'recursion'
的部分相關值不正確,因為偏移量將為 sample-dependent。最好使用'brute'
方法。請注意,這僅適用於GradientBoostingClassifier
和GradientBoostingRegressor
,不適用於HistGradientBoostingClassifier
和HistGradientBoostingRegressor
。- estimator:BaseEstimator
實現預測、predict_proba 或 decision_function 的擬合估計器對象。不支持Multioutput-multiclass 分類器。
- X:{類數組, DataFrame },形狀為 (n_samples, n_features)
X
用於為目標features
生成值網格(將評估部分依賴性),並在method
為'brute'
時生成補充特征的值。- features:{int,str,int 對,str 對} 的列表
要為其創建 PDP 的目標函數。如果
features[i]
是整數或字符串,則創建one-way PDP;如果features[i]
是一個元組,則創建雙向 PDP(僅支持kind='average'
)。每個元組的大小必須為 2。如果任何條目是字符串,則它必須位於feature_names
中。- feature_names:形狀類似數組 (n_features,),dtype=str,默認=None
每個函數的名稱;
feature_names[i]
包含索引為i
的特征的名稱。默認情況下,特征的名稱對應於 NumPy 數組的數字索引和 pandas DataFrame 的列名。- target:整數,默認=無
- 在多類設置中,指定應計算 PDP 的類。請注意,對於二元分類,始終使用正類(索引 1)。
- 在多輸出設置中,指定應為其計算 PDP 的任務。
在二元分類或經典回歸設置中被忽略。
- response_method:{‘auto’, ‘predict_proba’,‘decision_function’},默認='自動'
指定是使用predict_proba 還是decision_function 作為目標響應。對於回歸器,此參數被忽略,響應始終是預測的輸出。默認情況下,首先嘗試predict_proba,如果不存在,我們將恢複為decision_function。如果
method
是'recursion'
,則響應始終是 decision_function 的輸出。- n_cols:整數,默認=3
網格圖中的最大列數。僅當
ax
是單軸或None
時才有效。- grid_resolution:整數,默認=100
對於每個目標特征,圖軸上等距點的數量。
- percentiles:浮點元組,默認=(0.05, 0.95)
用於為 PDP 軸創建極值的下百分位數和上百分位數。必須在 [0, 1] 中。
- method:str,默認='自動'
用於計算平均預測的方法:
'recursion'
僅支持一些基於樹的估計器(即GradientBoostingClassifier
,GradientBoostingRegressor
,HistGradientBoostingClassifier
,HistGradientBoostingRegressor
,DecisionTreeRegressor
,RandomForestRegressor
但在速度方麵更有效。使用這種方法,分類器的目標響應始終是決策函數,而不是預測概率。由於'recursion'
方法通過設計隱式計算 ICE 的平均值,因此它與 ICE 不兼容,因此kind
必須是'average'
。- 任何估計器都支持
'brute'
,但計算量更大。 'auto'
:'recursion'
用於支持它的估計器,否則使用'brute'
。
請參閱此注釋了解
'brute'
和'recursion'
方法之間的差異。- n_jobs:整數,默認=無
用於計算部分依賴關係的 CPU 數量。計算在
features
參數指定的特征上進行並行化。None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有處理器。有關詳細信息,請參閱詞匯表。- verbose:整數,默認=0
PD 計算期間的詳細輸出。
- line_kw:字典,默認=無
帶有傳遞給
matplotlib.pyplot.plot
調用的關鍵字的字典。對於one-way 部分依賴圖。它可用於定義ice_lines_kw
和pdp_line_kw
的通用屬性。- ice_lines_kw:字典,默認=無
帶有傳遞給
matplotlib.pyplot.plot
調用的關鍵字的字典。對於one-way 部分依賴圖中的 ICE 線。ice_lines_kw
中定義的鍵值對優先於line_kw
。- pd_line_kw:字典,默認=無
帶有傳遞給
matplotlib.pyplot.plot
調用的關鍵字的字典。對於one-way 部分依賴圖中的部分依賴。pd_line_kw
中定義的鍵值對優先於line_kw
。- contour_kw:字典,默認=無
帶有傳遞給
matplotlib.pyplot.contourf
調用的關鍵字的字典。對於雙向部分依賴圖。- ax:Matplotlib 軸或類似數組的 Matplotlib 軸,默認=無
- 如果傳入單個軸,則將其視為邊界軸,並且將在這些邊界內繪製部分依賴圖的網格。
n_cols
參數控製網格中的列數。 - 如果傳入類似數組的軸,則部分相關圖將直接繪製到這些軸中。
- 如果
None
,則創建圖形和邊界軸並將其視為單軸情況。
- 如果傳入單個軸,則將其視為邊界軸,並且將在這些邊界內繪製部分依賴圖的網格。
- kind:{‘average’, ‘individual’, ‘both’},默認='平均'
是繪製數據集中所有樣本的平均部分依賴關係,還是每個樣本一行或兩者都繪製。
kind='average'
導致傳統的PD圖;kind='individual'
生成 ICE 圖。
請注意,快速
method='recursion'
選項僅適用於kind='average'
。繪製單個依賴項需要使用較慢的method='brute'
選項。- subsample:浮點數,int 或無,默認 = 1000
當
kind
為‘individual’或‘both’時對ICE曲線進行采樣。如果是float
,則應介於 0.0 和 1.0 之間,並表示用於繪製 ICE 曲線的數據集的比例。如果int
,表示要使用的絕對樣本數。請注意,當
kind='both'
時,仍使用完整數據集來計算平均部分依賴。- random_state:int、RandomState 實例或無,默認=無
當子樣本不是
None
並且kind
是'both'
或'individual'
時,控製所選樣本的隨機性。有關詳細信息,請參閱詞匯表。
- display:
PartialDependenceDisplay
- display:
參數:
返回:
例子:
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_friedman1 >>> from sklearn.ensemble import GradientBoostingRegressor >>> from sklearn.inspection import plot_partial_dependence >>> X, y = make_friedman1() >>> clf = GradientBoostingRegressor(n_estimators=10).fit(X, y) >>> plot_partial_dependence(clf, X, [0, (0, 1)]) <...> >>> plt.show()
相關用法
- Python sklearn.metrics.plot_confusion_matrix用法及代碼示例
- Python sklearn.metrics.plot_roc_curve用法及代碼示例
- Python sklearn plot_tree用法及代碼示例
- Python sklearn.metrics.plot_det_curve用法及代碼示例
- Python sklearn power_transform用法及代碼示例
- Python sklearn parallel_backend用法及代碼示例
- Python sklearn pairwise_distances_chunked用法及代碼示例
- Python sklearn permutation_importance用法及代碼示例
- Python sklearn partial_dependence用法及代碼示例
- Python sklearn parametrize_with_checks用法及代碼示例
- Python sklearn pair_confusion_matrix用法及代碼示例
- Python sklearn precision_score用法及代碼示例
- Python sklearn precision_recall_fscore_support用法及代碼示例
- Python sklearn polynomial_kernel用法及代碼示例
- Python sklearn paired_distances用法及代碼示例
- Python sklearn precision_recall_curve用法及代碼示例
- Python sklearn jaccard_score用法及代碼示例
- Python sklearn WhiteKernel用法及代碼示例
- Python sklearn CalibrationDisplay.from_predictions用法及代碼示例
- Python sklearn VotingRegressor用法及代碼示例
- Python sklearn gen_batches用法及代碼示例
- Python sklearn ExpSineSquared用法及代碼示例
- Python sklearn MDS用法及代碼示例
- Python sklearn adjusted_rand_score用法及代碼示例
- Python sklearn MLPClassifier用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.inspection.plot_partial_dependence。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。