测试一波回归模型的误差

如何衡量一个线性回归模型准确性

上一篇文章讲了怎么使用线性回归来预测,但是没有对这个模型的性能和准确性进行有效评估。

一般来讲,误差越小,预测就越准确。但是如果误差过于小,也要考虑是否过度拟合。

下面几个指标是用来衡量一个模型的误差大小:

    1. 平均绝对误差(Mean Absolute Error,简称MAE)
      它的数学公式是:

scikit-learn里对应的函数如下:

复制代码
mean_absolute_error(y_true, y_pred)

其中y_true是真实的目标值,y_pred是预测目标值。

MAE越小,说明模型的预测能力越好。

    1. 均方误差(Mean Squared Error,简称MSE)
      它的数学公式是:

mean_squared_error(y_true, y_pred)

MSE越小,表示模型的预测值与实际观测值之间的差异较小,即模型具有较高的预测精度。

    1. 均方对数误差(Mean Squared Log Error,简称MSLE):

mean_squared_log_error(y_true, y_pred)

MSLE的值越小,表示预测结果与真实值的差异越小,即模型的拟合程度越好。

    1. 绝对误差中值(Median Absolute Error,简称MedAE):

median_absolute_error(y_true, y_pred)

MedAE越小的模型,通常意味着它在大多数数据点上的预测更为准确。

实际使用中我用得最多的是MSE和MEdAE以及r2 score(它用来描述自变量和因变量的关联性,通常值为0-1之间),具体代码如下所示:

复制代码
import sklearn.metrics as metrics
import numpy as np

# Sample data
X = np.array([[1], [2], [3], [4], [5]])  # Input feature
y = np.array([2, 3.5, 2.8, 4.6, 5.2])     # Output target

# Create a linear regression model
model = LinearRegression()

# Fit the model to the data
model.fit(X, y)

# Make predictions
X_new = np.array([[6], [7]])  # New data for prediction
y_pred = model.predict(X_new)

print("Predictions:", y_pred)

mse = metrics.mean_squared_error(y, y_pred)
r2 = metrics.r2_score(y, y_pred)
m_error = metrics.median_absolute_error(y, y_pred)

print('MSE is {}'.format(mse))
print('R2 is {}'.format(r2))
print('M_ERROR is {}'.format(m_error))
相关推荐
放下华子我只抽RuiKe52 天前
算法的试金石:模型训练、评估与调优的艺术
人工智能·深度学习·算法·机器学习·自然语言处理·数据挖掘·线性回归
阿钱真强道3 天前
13 回归分析-认识一元线性回归
机器学习·数据挖掘·回归分析·线性回归·sklearn·入门·python实战
xiaobaibai1534 天前
一次试样失败催生的技术革新:福尔蒂吹瓶专用ACR助剂逆向推演与流变拟合
线性回归·kmeans
行走__Wz8 天前
【刘二大人】《PyTorch深度学习实践》——PyTorch实现线性回归代码(自用)
pytorch·深度学习·线性回归
沉睡的无敌雄狮8 天前
ISO9071外的质控实践:福尔蒂研发-QA-中试‘铁三角’机制(含架构与甘特图)
线性回归·甘特图·宽度优先
请你喝好果汁64110 天前
ML-线性回归(Linear Regression)
算法·回归·线性回归
2501_9248787310 天前
VOC新规下汽车内饰应对指南:福尔蒂低气味除醛母粒适配广汽埃安Q4项目
汽车·线性回归·宽度优先
放下华子我只抽RuiKe510 天前
机器学习全景指南-基石篇——预测连续值的线性回归
人工智能·深度学习·神经网络·算法·机器学习·自然语言处理·线性回归
xiaobaibai15310 天前
同标‘UV稳定‘,福尔蒂母粒在广东户外建材中寿命延2.3倍:光老化测试对比
线性回归·宽度优先·uv
Flying pigs~~10 天前
机器学习之数据挖掘时间序列预测
人工智能·算法·机器学习·数据挖掘·线性回归