回归指标评价定义及代码(MSE,RMSE,MAE,MAPE,R2-score)

利用python语言对回归指标进行简要讲解。

目录

MSE

RMSE

MAE

MAPE

R2-score

代码


  • MSE

  • 定义:MSE(均方误差)函数一般用来检测模型的预测值和真实值之间的偏差。MSE是真实值与预测值的差值的平方然后求和平均。通过平方的形式便于求导,所以常被用作线性回归的损失函数。
  • RMSE

  • 定义:RMSE(均方根误差)在MSE的基础上做平方根衡量观测值与真实值之间的偏差。常用来作为机器学习模型预测结果衡量的标准。
  • MAE

  • 定义:MAE(Mean Absolute Error)平均绝对误差。是绝对误差的平均值。可以更好地反映预测值误差的实际情况。
  • MAPE

  • 定义:MAPE(平均绝对百分比误差)MAPE 为0%表示完美模型,MAPE 大于 100 %则表示劣质模型。
  • R2-score

  • 定义:即决定系数,反映因变量的全部变异能通过回归关系被自变量解释的比例。
  • 代码

    # coding=utf-8
    import numpy as np
    from sklearn import metrics
    
    # MAPE需要自己实现
    def mape(y_true, y_pred):
        return np.mean(np.abs((y_pred - y_true) / y_true))
    
    y_true = np.array([1.0, 5.0, 4.0, 3.0, 2.0, 5.0, -3.0])
    y_pred = np.array([1.0, 4.5, 3.8, 3.2, 3.0, 4.8, -2.2])
    
    
    print('MSE:',metrics.mean_squared_error(y_true, y_pred))
    
    print('RMSE:',np.sqrt(metrics.mean_squared_error(y_true, y_pred)))
    
    print('MAE:',metrics.mean_absolute_error(y_true, y_pred))
    
    print('MAPE:',mape(y_true, y_pred))
    
    ## R2-score
    from sklearn.metrics import r2_score
    y_true = [3, -0.5, 2, 7]
    y_pred = [2.5, 0.0, 2, 8]
    print('R2-score:',r2_score(y_true, y_pred))
    MSE: 0.2871428571428571
    RMSE: 0.5358571238146014
    MAE: 0.4142857142857143
    MAPE: 0.1461904761904762
    R2-score: 0.9486081370449679

     

你可能感兴趣的:(指标评价,python,机器学习,逻辑回归,人工智能)