本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。