机器学习-性能评估篇

2018-12-28  本文已影响0人  蘑菇酱子

        对于一个学习器f,我们需要对泛化能力进行评估,也就是对模型在测试集上效果的评估。

        我们首先给定一个样本集D={(x_{1},y_{1}),(x_{2} ,y_{2}),...,(x_{m},y_{m})},性能评估也就是比较预测结果f(x_{i} )与真实结果y_{i}之间的差距。

        回归任务中,最常用的性能度量是“均方误差”(mean squared error):

                                           E(f;D)=\frac{1}{m} \sum_{i=1}^m(f(x_{i})-y_{i})^2

        本文主要讨论分类任务的性能度量。

1.错误率与精度    

        错误率同上,精度(accuracy)=1-E(f;D),也可以成为”正确率”

2.查全率,查准率,F1

    已经有错误率或正确率来衡量性能,为什么还要有查全率、查准率?

   正确率确实是一个很好很直观的评价指标,但是有时候正确率高并不能代表一个算法就好。比如某个地区某天地震的预测,假设我们有一堆的特征作为地震分类的属性,类别只有两个:0:不发生地震、1:发生地震。一个不加思考的分类器,对每一个测试用例都将类别划分为0,那那么它就可能达到99%的正确率,但真的地震来临时,这个分类器毫无察觉,这个分类带来的损失是巨大的。为什么99%的正确率的分类器却不是我们想要的,因为这里数据分布不均衡,类别1的数据太少,完全错分类别1依然可以达到很高的正确率却忽视了我们关注的东西。

未完待续

上一篇 下一篇

猜你喜欢

热点阅读