R Squared又叫可决系数(coefficient of determination)也叫拟合优度,反映的是自变量x对因变量y的变动的解释的程度.越接近于1,说明模型拟合得越好.
$$ R^2(y, \hat{y}) = 1 - \frac{\sum_{i=0}^{n} (y_i - \hat{y}_i)^2}{\sum_{i=0}^n (y_i - \bar{y})^2} =\frac{ESS}{TSS} = 1 - \frac{RSS}{TSS}$$其中,
$$ TSS(\text{Total Sum of Squares}) = \sum_{i=0}^n (y_i - \bar{y})^2$$
表示的是y的变动的程度,正比于方差.
表示的是模型和真实值的残差.
$$ ESS(\text{Explained Sum of Squares}) = \sum_{i=0}^{n} (\hat{y}_i - \bar{y})^2$$表示的是模型对y的变动的预测.
以上提到的度量,除了R Squared,都是越小越好. 使用哪种取决于目标,多种度量综合考虑则允许我们更深入得分析模型.
对于上面的这些指标,sklearn提供了部分接口来做分类模型的评估
接口 | 说明 |
---|---|
sklearn.metrics.mean_absolute_error(y_true, y_pred) |
平均绝对误差 |
sklearn.metrics.mean_squared_error(y_true, y_pred[, …]) |
均方误差 |
sklearn.metrics.mean_squared_log_error(y_true, y_pred) |
均方误差对数 |
sklearn.metrics.median_absolute_error(y_true, y_pred) |
中位绝对误差 |
sklearn.metrics.r2_score(y_true, y_pred[, …]) |
R² score可决系数 |
MAPE我在metrics.py中有实现.
In [ ]: