当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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