1. MSE(mean_squared_error):均方误差
mean_squared_error:均方差(Mean squared error,MSE),该指标计算的是拟合数据和原始数据对应样本点的误差的平方和的均值,
其值越小说明拟合效果越好
。
2. MAE(mean_absolute_error):平均绝对误差
mean_absolute_error:平均绝对误差(Mean Absolute Error,MAE),用于评估预测结果和真实数据集的接近程度的程度,其
值越小说明拟合效果越好
。
MSE、MAE思路是测试数据集中的点,
距离模型的平均距离越小,该模型越精确(所以值越小说明拟合效果越好)。
使用平均距离,而不是所有测试样本的距离和,因为距离和受样本数量的影响。
利用sklearn里面的merics模块导出函数,直接进行调用计算。如计算MSE。
# 得到模型的MSE(均方误差)
from sklearn.metrics import mean_squared_error
mse_score = mean_squared_error(y_test, y_pred)
print('简单线性回归模型的MSE是:%.2f' %(mse_score))
3. R2(R Squared) :
判定系数,其含义是也是解释回归模型的方差得分,其值取值范围是[0,1],越
接近于1说明自变量越能解释因变量的方差变化,希望这个值越大越好,值越小则说明效果越差
。R2是衡量线性回归法
最好的指标。
from sklearn.metrics import r2_score #直接调用库函数进行输出R2
print(r2_score(y_test,y_predict))
-
R2 <= 1
-
R2越大越好,当自己的预测模型不犯任何错误时:R2 = 1
-
当我们的模型等于基准模型时:R2 = 0
-
如果R2 < 0,说明学习到的模型还不如基准模型。很可能数据不存在任何线性关系。
为了获得对模型性能的无偏估计,在训练过程中使用未知数据对测试进行评估是至关重要的。所以,需要将数据集划分为训练数据集和测试数据集,前者用于模型的训练,后者用户模型在未知数据上泛化性能的评估。
对于线性模型
一、残差图
当m>1时,模型使用了多个解释变量,无法在二维坐标上绘制
线性回归
曲线。那么如何对回归模型的性能有一个直观的评估呢?可以通过绘制预测值的残差图,...
决定系数(coefficient ofdetermination),有的教材上翻译为判定系数,也称为拟合优度。
决定系数反应了y的波动有多少百分比能被x的波动所描述,即表征依变数Y的变异中有多少百分比,可由控制的自变数X来解释.
表达式:
R2
=SSR/SST=1-SSE/SST
其中:SST=SSR+SSE,SST(total sum of squares)为总平方和,SSR(reg
explained_variance_score
r2
_score【2】。
mean_absolute_error:平均绝对误差(Mean Absolute Error,
MAE
),用于评估预测结果和真实数据集的接近程度的程度
,其其值越小说明拟合效果越好。
平均绝对误差(Mean Absolute Error,
MAE
)
均方误差(Mean Squared Error,
MSE
)
平均绝对百分误差(Mean Absolute Percentage Error,MAPE)
均方根误差(Root Mean Squared Error)
R2
(R-Square)
平均绝对误差
MAE
平均绝对误差
MAE
,其能更好地反映预测值与真实值误差的实际情况,计算公式如下:
均方误差
MSE
均方误差
MSE
的计算公式为:
平均绝对百分误差MAPE
平均绝对百分误差的计算公式为:
R2
(R-Square)
R2
(R-Square)的公式为残差平
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from mpl_toolkits.mplot3d import axes3d
pd.set_option('display.notebook
好的,我们可以使用
线性回归模型
来预测一个因变量和一个或多个自变量之间的关系。
首先,我们需要准备数据集。数据集应该包含自变量和因变量。假设我们有一个包含房屋面积和房价的数据集。
接下来,我们需要拆分数据集,以便我们可以使用部分数据来训练我们的模型,然后使用剩余的数据来测试模型的性能。
然后,我们可以使用
线性回归模型
来训练我们的数据。
线性回归模型
可以帮助我们找到最佳拟合直线,以最小化预测值与实际值之间的误差。
最后,我们可以使用测试数据集来评估模型的性能。我们可以计算模型的平均误差和均方误差等指标,以确定模型的预测能力。
在Python中,我们可以使用Scikit-Learn库来实现
线性回归模型
的训练和测试。例如,下面是一个简单的示例:
```python
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# 准备数据集
X = [[1], [2], [3], [4], [5]]
y = [2, 4, 6, 8, 10]
# 拆分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 训练模型
regressor = LinearRegression()
regressor.fit(X_train, y_train)
# 预测结果
y_pred = regressor.predict(X_test)
# 评估模型
mse
= mean_squared_error(y_test, y_pred)
print('Mean squared error: ',
mse
)
这个示例使用了一个非常简单的数据集,但是可以轻松地扩展到更复杂的数据集。