线性回归#
算法描述链接: 线性模型
- 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) – 样本权重。
- 返回:
score –
self.predict(X)
相对于 y 的 \(R^2\)。- 返回类型:
float
注意
在回归器上调用
score
时使用的 \(R^2\) 得分从 0.23 版本开始使用multioutput='uniform_average'
,以与r2_score()
的默认值保持一致。这会影响所有多输出回归器(MultiOutputRegressor
除外)的score
方法。