想象这样一个场景,在看过《泰坦尼克号》、《最萌身高差》、《罗马假日》一些列爱情电影之后,你感叹于男主人公的强大魅力,你突然有了一个奇妙的想法。你想要成为一名金牌恋爱顾问,帮助现实生活中的广大男生们解决恋爱问题。你借用高科技的手段,收集了大量电影、电视剧和民间广为流传的成功和失败的案例,想要利用机器学习的方法尝试不同的吸引女生的特征——幽默、贴心、小奶狗啊等等,找到那个任何女生看到都会100%爱上这个男生的模型。最后,成为江湖的传奇。如果,真的要去建立这样一个模型,我想它应该被分在定性分析那一类问题里面吧。
定性分析问题,也就是我们常说的分类问题,是机器学习中区别于回归(regression)的另一类问题。生活中常见的分类问题有:你收到的一封邮件是不是垃圾邮件?机器判断患者是否患有癌症?现如今,有着很多简单好用的算法可以用来解决分类问题。例如,逻辑回归(logistic regression)、支持向量机器(support vector machine)、决策树(decision tree)、随机森林(random forest)等。但是,在正式了解这些当下流行的算法前,需要确定下来一些评价模型的标准,从而帮助我们更好地了解和改进模型。在这里,我们只讨论二元分类问题(binary classification problem),也就是分类的结果只有两种:是或不是垃圾邮件;有木有癌症;爱还是不爱。
混淆矩阵(confusion matrix)
对于分类问题,一系列评估模型的标准可以说都是从这个矩阵开始,运用不同的公式,得到不同的结果,然后从不同的侧面来评估一个模型。混淆矩阵呈现模型的预测结果(predicted class)和真实结果(actual class)之间匹配情况。图中positive 和negative 代表两种类别。邮件问题中,positive 代表是垃圾邮件,negative也就代表不是垃圾邮件;癌症问题就是有(positive)和没有(negative);爱情问题中就是爱(positive)和不爱(negative)。如果模型预测结果和真实结果是一致,就体现在图中左上到右下的对角线(true positive + true negative )。如果不一致,那么就会出现统计学称作第一类错误(type I error = false positive)和第二类错误(type II error = flase negative),即体现在图中右上到左下的对角线上。当了解矩阵中所有的元素后,可以由此推出一些评价分类模型的标准。
ps: 对于第一类错误和第二类错误,我永远记不住教科书复杂的定义。一个简单的类比轻松解决问题。第一类错误 = 看着一个男人说:“你怀孕了。”;第二类错误 = 看着一个怀孕的女人说:“你没有怀孕。” -- 呵呵,都是睁眼说瞎话。
这一车的标准
1. 准确率(Accuracy)
即,所有数据中作出准确预测的比例。
2. 查准率(Precision)
3. 查全率/召回率(Recall)
4. F score
统一查准率和查全率的标准。
5. ROC曲线 (ROC Curve)
表现真阳率(true positive rate)和假阳率(false positive rate)之间的取舍。ROC曲线是根据数据不同分类的分布和分类标准画出来的,这里我们就不讲细节了。简单地来说,曲线越靠近左上角,就说明模型更好。
6. AUC(Area Under the Curve - 曲线下面积)
AUC是建立在ROC曲线之上,让模型之间比较更加简单的一个标准。通过计算曲线下的面积,比较不同模型间AUC数值的大小,更加方面快捷的得到最好的模型。模型的AUC越接近1就说明模型的表现更好。
以上,就是针对分类模型常用的一车标准,不同的标准展现了模型不同的侧面,让我们能够更加全面的来评估和比较模型。
最后,本文中所有的图片都来自于梁劲(Jim Liang)整理的机器学习的笔记。这是一份能够让对机器学习感兴趣的朋友以坐火箭的速度快速入门的笔记。非常感谢梁劲的笔记,帮助我搭建一个清晰的框架。我也向大家推荐,感兴趣的朋友,可以关注公众号ReadySteadyGo,获取英文笔记的下载资源。
PS: 最后插一句题外话,如果真的有本文开头提到的机器模型的话,您认为最重要的特征是什么呢?
领取专属 10元无门槛券
私享最新 技术干货