大家好,我是一名Python数据分析师,希望通过分享我的转行经历,帮助大家更好地理解和应用人工智能技术。为此,我编写了“人工智能四部曲”系列,其中包括《15天学会Python编程》、《每天10分钟,用Python学数据分析》、《Python数据可视化实战》以及《33天搞定机器学习》。
本文是《33天搞定机器学习》的第二部分前半部分内容,主要讨论残差学习,欢迎大家订阅。
回归模型的性能评估通常需要考虑多个指标,如RMSE(均方根误差)、MAE(平均绝对误差)、MSE(均方误差)和R2score(决定系数)。然而,在量纲不同的情况下,RMSE、MAE和MSE难以全面衡量模型效果。这时就需要用到R2score。在实际应用中,我们经常会遇到各种问题,接下来我们将深入探讨R2_score的相关内容。
在理解R2_score的计算方法之前,我们需要先掌握一些基本的统计学概念。
SSR反映了自变量与因变量之间的相关程度,具体来说,它是估计值与平均值之间误差的平方和。
SSE反映了模型的拟合程度,具体来说,它是估计值与真实值之间误差的平方和。
SST反映了平均值与真实值之间的差异,具体来说,它是平均值与真实值之间误差的平方和。
R2_score,即决定系数,用来衡量因变量的全部变异可以通过回归关系被自变量解释的比例。其计算公式如下:
[ R^2 = 1 - frac{SSE}{SST} ]
进一步简化后:
[ R^2 = 1 - frac{sum(yi - hat{y}i)^2}{sum(y_i - bar{y})^2} ]
其中,分子是均方误差(MSE),分母是方差。R2_score可以简单理解为将均值作为误差基准,比较预测误差是否大于或小于这个基准误差。
根据上述公式,我们可以手动计算R2score,也可以直接调用sklearn库中的r2score函数。
```python from sklearn.metrics import meansquarederror, r2_score import numpy as np
mse = meansquarederror(ytest, ypred) r2 = 1 - mse / np.var(y_test)
r2 = r2score(ytrue, y_pred) ```
希望这些内容对大家有所帮助,如有任何疑问,欢迎留言交流!