本文簡要介紹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
。- estimator:BaseEstimator
實現預測、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’},默認='自動'
用於計算平均預測的方法:
'recursion'
僅在kind='average'
時支持某些基於樹的估計器(即GradientBoostingClassifier
、GradientBoostingRegressor
、HistGradientBoostingClassifier
、HistGradientBoostingRegressor
、DecisionTreeRegressor
、RandomForestRegressor
、 )。這在速度方麵更有效。使用這種方法,分類器的目標響應始終是決策函數,而不是預測概率。由於'recursion'
方法通過設計隱式計算個人條件期望 (ICE) 的平均值,因此它與 ICE 不兼容,因此kind
必須是'average'
。- 任何估計器都支持
'brute'
,但計算量更大。 'auto'
:'recursion'
用於支持它的估計器,否則使用'brute'
。
請參閱此注釋了解
'brute'
和'recursion'
方法之間的差異。- kind:{‘legacy’, ‘average’, ‘individual’, ‘both’},默認='舊版'
是返回數據集中所有樣本的平均部分相關性,還是每個樣本一行,或兩者兼而有之。請參閱下麵的返回。
請注意,快速
method='recursion'
選項僅適用於kind='average'
。繪製單個依賴項需要使用較慢的method='brute'
選項。
- predictions:ndarray 或
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_resolution
或X[:, j]
中唯一值的數量,以較小者為準。
- 如果
n_outputs
對應於多類設置中的類數,或 multi-output 回歸的任務數。對於經典回歸和二元分類n_outputs==1
。n_values_feature_j
對應於大小values[j]
。- values:一維ndarrays的序列
創建網格時使用的值。生成的網格是
values
中數組的笛卡爾積。len(values) == len(features)
。每個數組values[j]
的大小是grid_resolution
或X[:, j]
中唯一值的數量,以較小者為準。僅在kind="legacy"
時可用。
- predictions:ndarray 或
參數:
返回:
例子:
>>> 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.])])
相關用法
- Python sklearn parallel_backend用法及代碼示例
- Python sklearn parametrize_with_checks用法及代碼示例
- Python sklearn pairwise_distances_chunked用法及代碼示例
- Python sklearn pair_confusion_matrix用法及代碼示例
- Python sklearn paired_distances用法及代碼示例
- Python sklearn power_transform用法及代碼示例
- Python sklearn.metrics.plot_confusion_matrix用法及代碼示例
- Python sklearn.metrics.plot_roc_curve用法及代碼示例
- Python sklearn plot_tree用法及代碼示例
- Python sklearn permutation_importance用法及代碼示例
- Python sklearn.metrics.plot_det_curve用法及代碼示例
- Python sklearn precision_score用法及代碼示例
- Python sklearn.inspection.plot_partial_dependence用法及代碼示例
- Python sklearn precision_recall_fscore_support用法及代碼示例
- Python sklearn polynomial_kernel用法及代碼示例
- 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.partial_dependence。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。