机器学习回归任务指标评价及Sklearn神经网络模型评价实践

这篇具有很好参考价值的文章主要介绍了机器学习回归任务指标评价及Sklearn神经网络模型评价实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

机器学习回归模型评价是指对回归模型的性能进行评估,以便选择最佳的回归模型。其中,MAE、MSE、RMSE 用于衡量模型预测值与真实值之间的误差大小,R² 用于衡量模型对数据的拟合程度。在实际应用中,我们可以使用这些指标来评估回归模型的性能,并对模型进行优化。

例如,在工业领域,回归算法可以通过对历史数据的回归分析,预测用电负荷、发电量等生产指标。

1. 机器学习回归模型的预测结果评价

机器学习回归模型的预测结果评价有很多方法,以下是一些常用的方法:

R2(决定系数):R2评估模型对数据的拟合程度,它的取值范围为0到1,越接近1表示模型的拟合程度越好(sklearn回归模型评估所使用的score默认是R2的计算公式)。R2的计算公式如下:

R 2 = 1 − ∑ i = 1 n ​ ( y i ​ − y i ^ ​ ) 2 ∑ i = 1 n ​ ( y i ​ − y i ˉ ​ ) 2 ​ R2=1−\frac{\sum_{i=1}^{n}​(y_i​−\hat{y_i}​)^2}{\sum_{i=1}^n​(y_i​−\bar{y_i}​)^2}​ R2=1i=1n(yiyiˉ)2i=1n(yiyi^)2

R2(决定系数)回归评分函数的最好分数是1.0,它可以是负数(因为模型可以任意变差)。

平均绝对误差(Mean Absolute Error,MAE):MAE是预测值与真实值之间差的绝对值的平均数,它的值越小表示模型预测的准确度越高。计算公式为:

M A E = 1 n ∑ ​ i = 1 n ​ ∣ y i ​ − y i ^ ​ ∣ MAE=\frac{1}{n}\sum_{​i=1}^n​∣y_i​−\hat{y_i}​∣ MAE=n1i=1nyiyi^

又称L1范数损失,来衡量预测值与真实值之间的真实距离。

均方误差(Mean Squared Error,MSE):MSE是预测值与真实值之间差的平方的平均数,它的值越小表示模型预测的准确度越高。计算公式为:

M S E = 1 n ∑ ​ i = 1 n ​ ( y i ​ − y i ^ ) 2 MSE=\frac{1}{n}\sum_{​i=1}^n​(y_i​−\hat{y_i})^2 MSE=n1i=1n(yiyi^)2

通过平方的形式便于求导,所以常被用作线性回归的损失函数。

均方根误差(Root Mean Squared Error,RMSE):RMSE是MSE的平方根,它的值越小表示模型预测的准确度越高。计算公式为:

R M S E = 1 n ∑ ​ i = 1 n ​ ( y i ​ − y i ^ ) 2 RMSE=\sqrt{\frac{1}{n}\sum_{​i=1}^n​(y_i​−\hat{y_i})^2} RMSE=n1i=1n(yiyi^)2

常用来作为机器学习模型预测结果衡量的标准,衡量观测值与真实值之间的偏差。受异常点影响较大,鲁棒性比较差。

其中, y i y_i yi​是真实值, y i ^ \hat{y_i} yi^​是预测值, y i ˉ \bar{y_i} yiˉ​是真实值的平均值,n 表示样本数量。

R平方(R-squared):R平方与R2的计算方式类似,但它可以对模型的复杂度进行惩罚,避免模型过拟合。

可决系数(Adjusted R-squared):可决系数是R平方的改进版本,它考虑了自变量数量对模型的影响,可以更准确地评估模型的拟合程度。

2. 如何评价机器学习回归模型

评价机器学习得到的回归模型可以从多个方面入手,例如:模型的拟合程度、模型的预测能力、模型的稳定性等。

其中,模型的拟合程度可以通过决定系数(Coefficient of Determination,R2)来衡量。R2的取值范围在0到1之间,越接近1表示模型对数据的拟合程度越好。但是,R2并不能告诉我们哪些变量对目标变量有影响。

模型的预测能力可以通过均方根误差(Root Mean Squared Error,RMSE)、平均绝对误差(Mean Absolute Error,MAE)等指标来衡量。这些指标可以用来衡量模型对新数据的预测能力。

模型的稳定性可以通过交叉验证(Cross Validation)等方法来衡量。交叉验证可以用来评估模型在不同数据集上的表现,从而判断模型是否过拟合或欠拟合。

3. Sklearn回归模型实践

3.1. 多层感知机回归模型

实践案例使用简洁的神经网络感知机(MLPRegressor)。

from sklearn.neural_network import MLPRegressor
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error, mean_absolute_error
from sklearn.utils import column_or_1d
import pandas as pd
import numpy as np
import joblib
import matplotlib.pyplot as plt

df = pd.read_csv('power_pv09.csv')
# 数据处理过程,略
train_datas = df[cols_dict].loc[df['p_mp'] > 0]
y = train_datas[['ThisPower']] 
X = train_datas.drop(columns='ThisPower')
model_filename = 'mlpmodel.joblib'

x_train, x_test, Y_train, Y_test = train_test_split(X, y, test_size=0.2)

std_x = StandardScaler()
std_x.fit(x_train)
# y值可以不进行归一化,使用原值
std_y = StandardScaler()
std_y.fit(Y_train)

y_train = std_y.transform(Y_train)
y_test  = std_y.transform(Y_test)
X_train = std_x.transform(x_train)
X_test = std_x.transform(x_test)

forest_model = MLPRegressor(hidden_layer_sizes=(80, 90, 80), 
                            solver = 'adam', 
                            tol=1e-3, max_iter=600, random_state=0).fit(X_train, y_train)

joblib.dump(forest_model, model_filename)  # 存储模型

y_ = forest_model.predict(X_test)
y_ = y_.reshape(-1,1)
pre_y = std_y.inverse_transform(y_)

3.2. 可视化训练过程

# 可视化损失函数
plt.figure(figsize=(12,6))
plt.plot(forest_model.loss_curve_)
plt.xlabel("iters")
plt.ylabel(forest_model.loss)
plt.show()

注意:适用于solver = 'adam’等,牛顿法不适用solver=‘lbfgs’。

机器学习回归任务指标评价及Sklearn神经网络模型评价实践

3.3. 回归模型评估

使用常用机器学习回归模型评估方法R2、MSE、MAE等方法,在Sklearn库中,分别调用其函数实现评估,具体函数详见如下代码。

R2 = forest_model.score(X_test, y_test)
print ("Test R2 Score = ", R2)
'''计算训练集 MSE'''
pre_train = forest_model.predict(X_train)
mse_train = mean_squared_error(pre_train,y_train)
print ("Train mean squared ERROR = ", mse_train)
'''计算训练集 MAE'''
pre_train = forest_model.predict(X_train)
mae_train = mean_absolute_error(pre_train,y_train)
print ("Train mean absolute ERROR = ", mae_train)
'''计算测试集mse'''
pred_test = forest_model.predict(X_test)
mse_test = mean_squared_error(pred_test,y_test)
print ("Test mean_squared ERROR = ", mse_test)
'''结果可视化'''
xx=range(0,len(y_test))
plt.figure(figsize=(8,6))
plt.scatter(xx,Y_test,color="red",label="Sample Point",linewidth=3) 
plt.plot(xx,column_or_1d(pre_y, warn=True),color="blue",label="Fitting Line",linewidth=2)
plt.legend()

评估结果如下:

Test R2 Score = 0.884
Train mean squared ERROR = 0.0475
Train mean absolute ERROR = 0.147
Test mean_squared ERROR = = 0.1026

测试集预测结果与真实值对比图如下:
机器学习回归任务指标评价及Sklearn神经网络模型评价实践

参考:

大鱼. 机器学习常见评价指标. 知乎. 2022.11
Xiaofei@IDO. 机器学习:回归模型的评价指标. CSDN博客. 2021.06文章来源地址https://www.toymoban.com/news/detail-449521.html

到了这里,关于机器学习回归任务指标评价及Sklearn神经网络模型评价实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习基础算法--回归类型和评价分析

    目录 1.数据归一化处理 2.数据标准化处理 3.Lasso回归模型 4.岭回归模型 5.评价指标计算       MSE= i=1 n ( Y i - Y ^ ) 2 n RMES= i=1 n ( Y i - Y ^ ) 2 n MAE= i=1 n | Y i - Y ^ | n R 2 =1- i=1 n ( Y ^ - Y i ) 2 i=1 n ( Y ¯ - Y i )2

    2024年02月09日
    浏览(24)
  • 【机器学习】全网最全模型评价指标(性能指标、YOLOv5训练结果分析、轻量化指标、混淆矩阵详解)【基础收藏】

    在目标检测任务中,我们常用的评价指标一般有两种,一种是使用Pascal VOC的评价指标,一种是更加严格的COCO评价指标,一般后者会更常用点。 如何判断一个检测结果是否正确。目前最常用的方式就是去计算检测框与真实框的IOU,然后 根据IOU去判别两个框是否匹配 。 常见指

    2024年02月04日
    浏览(35)
  • 『CV学习笔记』图像超分辨率等图像处理任务中的评价指标PSNR(峰值信噪比)

    图像超分辨率等图像处理任务中的评价指标PSNR(峰值信噪比) 峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)是图像超分辨率等图像处理任务中常用的一个指标,用来评估图像质量。PSNR的值越高,表示失真越小,图像质量越好。 PSNR是通过对比原图像和处理后图像的每个像素的差异来

    2024年02月06日
    浏览(35)
  • 【Python机器学习】sklearn.datasets分类任务数据集

    如何选择合适的数据集进行机器学习的分类任务? 选择合适的数据集是进行任何机器学习项目的第一步,特别是分类任务。数据集是机器学习任务成功的基础。没有数据,最先进的算法也无从谈起。 本文将专注于 sklearn.datasets 模块中用于分类任务的数据集。这些数据集覆盖

    2024年02月07日
    浏览(28)
  • 机器学习分类器评价指标详解(Precision, Recall, PR, ROC, AUC等)(一)

    为了系统性地理解机器学习模型的不同评价指标及其之间的关系,我们将从其定义出发,探究其物理含义及彼此之间的联系,并从数学上给出相应的公式推导,以方便后续用到时复习理解。由于篇幅较长,因此将其分为两篇,这是第一部分,第二部分参见:机器学习分类器评

    2024年02月04日
    浏览(31)
  • 机器学习模型优劣评价指标:混淆矩阵,P-R曲线与平均精确度(附代码实现)

    文章参考:Mean Average Precision (mAP) Explained | Paperspace Blog 目录 一. Confusion Metrics混淆矩阵 二. Precision-Recall Curve, Average precision P-R曲线,平均精确度 三. 举例与代码实现 (1)从预测分数到类别标签(From Prediction Score to Class Label) (2)精确度-召回度曲线(Precision-Recall Curve) (3)平均

    2024年02月05日
    浏览(29)
  • 分类任务评价指标

    分类任务中,有以下几个常用指标: 混淆矩阵 准确率(Accuracy) 精确率(查准率,Precision) 召回率(查全率,Recall) F-score PR曲线 ROC曲线 真实1 真实0 预测1 TP FP 预测0 FN TN 从 预测 的角度看: TP: True Positive。预测为1,实际为1,预测正确。 FP: False Positive。预测为1,实际为

    2024年02月09日
    浏览(36)
  • 预测任务评价指标acc,auc

    TP(true positive):表示样本的真实类别为正,最后预测得到的结果也为正; FP(false positive):表示样本的真实类别为负,最后预测得到的结果却为正; FN(false negative):表示样本的真实类别为正,最后预测得到的结果却为负; TN(true negative):表示样本的真实类别为负,

    2024年02月01日
    浏览(28)
  • python机器学习(三)特征预处理、鸢尾花案例--分类、线性回归、代价函数、梯度下降法、使用numpy、sklearn实现一元线性回归

    数据预处理的过程。数据存在不同的量纲、数据中存在离群值,需要稳定的转换数据,处理好的数据才能更好的去训练模型,减少误差的出现。 标准化 数据集的标准化对scikit-learn中实现的大多数机器学习算法来说是常见的要求,很多案例都需要标准化。如果个别特征或多或

    2024年02月16日
    浏览(31)
  • 回归模型评价指标:MSE、RMSE、MAE、R2 score

    回归模型评价指标:MSE、RMSE、MAE、 R 2 R^2 R 2 score 提示: 回归模型的性能的评价指标主要有:RMSE(平方根误差)、MAE(平均绝对误差)、MSE(平均平方误差)、R2_score。但是当量纲不同时,RMSE、MAE、MSE难以衡量模型效果好坏,这就需要用到R2_score。 (MAE)Mean Absolute Error,是绝对误差的平

    2024年02月12日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包