Python回归模型评估

1 声明

本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理。

2 回归模型评估简介

对给给定的回归模型进行质量评估,常见概念见下:

残差,即实际值与预测值差的均值。

Python回归模型评估_方差

残差平方和,即实际值与预测值差的平方的均值。

Python回归模型评估_代码示例_02

Python回归模型评估_方差_03

注:这里的n是样本的数量,其中Python回归模型评估_交叉验证_04 是预测值, Python回归模型评估_交叉验证_05是实际值。

R方,可反应目标向量中模型所解释的中的方差量。

Python回归模型评估_交叉验证_06

注:这里n是样本的数量,其中 是Python回归模型评估_交叉验证_04预测值, 是Python回归模型评估_交叉验证_05实际值。 Python回归模型评估_方差_09是实际值的均值。

3 回归模型评估代码示例

# 加载生成回归的包及计算模型分数的相关包
from sklearn.datasets import make_regression
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LinearRegression
# 指定X和y
features, target = make_regression(n_samples = 100,
n_features = 3,
n_informative = 3,
n_targets = 1,
noise = 50,
coef = False,
random_state = 12)
# 创建线性回归模型
ols = LinearRegression()
#以MSE(残差平方和)法交叉验证模型,这里Scikit-Learn内部约定指标取了负值。
print(cross_val_score(ols, features, target, scoring='neg_mean_squared_error',cv=4))
#以R方法交叉验证模型
print(cross_val_score(ols, features, target, scoring='r2',cv=4))

Python回归模型评估_代码示例_10

4 总结