16 模型评估之评估指标
在机器学习中,模型的性能评估是至关重要的一步,能够帮助我们理解模型的表现并进行必要的调整。在本篇中,我们将重点讨论一些常用的评估指标,帮助你在模型评估时做出明智的决策。我们将结合实际案例,使用 Scikit-Learn
的功能来实现评估指标的计算。
1. 分类评估指标
对于分类问题,常用的评估指标包括 准确率
、精确率
、召回率
和 F1-score
。下面我们分别介绍这些指标及其计算方法。
1.1 准确率
准确率
是指预测正确的样本占总样本的比例。其计算公式为:
$$
\text{准确率} = \frac{TP + TN}{TP + TN + FP + FN}
$$
其中:
- $TP$:真正例(True Positives)
- $TN$:真负例(True Negatives)
- $FP$:假正例(False Positives)
- $FN$:假负例(False Negatives)
在 Scikit-Learn
中,可以使用 accuracy_score
函数来计算准确率。
1 | from sklearn.metrics import accuracy_score |
1.2 精确率
精确率
是指被预测为正类的样本中,真实为正类的比例。其计算公式为:
$$
\text{精确率} = \frac{TP}{TP + FP}
$$
我们同样可以使用 precision_score
函数来计算精确率。
1 | from sklearn.metrics import precision_score |
1.3 召回率
召回率
是指真实为正类的样本中,被正确预测为正类的比例。其计算公式为:
$$
\text{召回率} = \frac{TP}{TP + FN}
$$
Scikit-Learn
提供了 recall_score
函数来计算召回率。
1 | from sklearn.metrics import recall_score |
1.4 F1-score
F1-score
是精确率和召回率的调和平均数,考虑到二者的平衡。其计算公式为:
$$
\text{F1-score} = 2 \times \frac{\text{精确率} \times \text{召回率}}{\text{精确率} + \text{召回率}}
$$
使用 f1_score
函数可以方便地计算 F1-score。
1 | from sklearn.metrics import f1_score |
2. 回归评估指标
对于回归问题,常用的评估指标包括 均方误差
、均方根误差
和 R²得分
。
2.1 均方误差(MSE)
均方误差
是预测值与实际值之间误差的平方的平均值。其计算公式为:
$$
\text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2
$$
在 Scikit-Learn
中可以使用 mean_squared_error
。
1 | from sklearn.metrics import mean_squared_error |
2.2 均方根误差(RMSE)
均方根误差
是均方误差的平方根,用来更直观地表示误差的级别。公式为:
$$
\text{RMSE} = \sqrt{\text{MSE}}
$$
1 | import numpy as np |
2.3 R²得分
R²得分
表示模型对数据变异性的解释能力。其定义为:
$$
R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y}i)^2}{\sum{i=1}^{n} (y_i - \bar{y})^2}
$$
可以使用 r2_score
来计算 R²得分。
1 | from sklearn.metrics import r2_score |
结语
通过上述介绍,我们学习了多种评估指标,以及如何使用 Scikit-Learn
来实现它们的计算。在下一篇中,我们将深入探讨模型评估中的一个重要技术——交叉验证(Cross-Validation)。利用交叉验证,我们能够进一步评估模型的稳健性,避免过拟合(Overfitting)的风险。因此,继续关注这个系列教程,掌握模型评估的全貌!
16 模型评估之评估指标