线性回归#

算法描述链接: 线性模型

class interpret.glassbox.LinearRegression(feature_names=None, feature_types=None, linear_class=<class 'sklearn.linear_model._base.LinearRegression'>, **kwargs)#

线性回归。

目前是 scikit-learn 中线性模型的包装器:scikit-learn/scikit-learn

初始化类。

参数
  • feature_names – 特征名称列表。

  • feature_types – 特征类型列表。

  • linear_class – 一个 scikit-learn 线性类。

  • **kwargs – 在初始化时传递给线性类的关键字参数。

explain_global(name=None)#

提供模型的全局解释。

参数

name – 用户定义的解释名称。

返回

一个解释对象,将特征-值对可视化为水平条形图。

explain_local(X, y=None, name=None)#

提供对给定实例的局部解释。

参数
  • X – 用于解释的 X 的 Numpy 数组。

  • y – 用于解释的 y 的 Numpy 向量。

  • name – 用户定义的解释名称。

返回

一个解释对象,将每个实例的特征-值对可视化为水平条形图。

fit(X, y)#

用提供的实例拟合模型。

参数
  • X – 用于训练实例的 Numpy 数组。

  • y – 作为训练标签的 Numpy 数组。

返回

自身。

predict(X)#

对提供的实例进行预测。

参数

X – 用于实例的 Numpy 数组。

返回

每个实例的预测值。

score(X, y, sample_weight=None)#

返回预测结果的决定系数。

决定系数 \(R^2\) 定义为 \((1 - \frac{u}{v})\),其中 \(u\) 是残差平方和 ((y_true - y_pred)** 2).sum()\(v\) 是总平方和 ((y_true - y_true.mean()) ** 2).sum()。最好的得分是 1.0,得分可以是负的(因为模型可能任意差)。一个总是预测 y 的期望值而忽略输入特征的常数模型,其 \(R^2\) 得分将是 0.0。

参数
  • X (形状为 (n_samples, n_features) 的 array-like 对象) – 测试样本。对于某些估计器,这可能是一个预计算的核矩阵,或者是一个通用对象列表,其形状为 (n_samples, n_samples_fitted),其中 n_samples_fitted 是用于拟合估计器的样本数量。

  • y (形状为 (n_samples,) 或 (n_samples, n_outputs) 的 array-like 对象) – X 的真实值。

  • sample_weight (形状为 (n_samples,) 的 array-like 对象, 默认为 None) – 样本权重。

返回

scoreself.predict(X) 相对于 y\(R^2\)

返回类型

float

注意

在回归器上调用 score 时使用的 \(R^2\) 得分从 0.23 版本开始使用 multioutput='uniform_average',以与 r2_score() 的默认值保持一致。这会影响所有多输出回归器(MultiOutputRegressor 除外)的 score 方法。