《scikit-learn机器学习常用算法原理及编程实战》—3.3 模型准确性
【摘要】 本书摘自《scikit-learn机器学习常用算法原理及编程实战》一书中的第3章,第3.3.1节,编著是黄永昌 .
3.3 模型准确性
测试数据集的成本,即Jtest(θ)是评估模型准确性的最直观的指标,Jtest(θ)值越小说明模型预测出来的值与实际值差异越小,对新数据的预测准确性就越好。需要特别注意,用来测试模型准确性的测试数据集,必须是模型“没见过”的数据。
这就是为什么,我们在第1章介绍过的,要把数据集分成训练数据集和测试数据集。一般原则是按照8∶2或7∶3来划分,然后用训练数据集来训练模型,训练出模型参数后再使用测试数据集来测试模型的准确性,根据模型的准确性来评价模型的性能。
可以思考一个问题:为什么要确保模型没有见过测试数据集?
那么,我们要如何计算测试数据集的误差呢?简单地说,就是用测试数据集和训练出来的模型参数代入相应的成本函数里,计算测试数据集的成本。
针对上文我们介绍的线性回归算法,可以使用下面的公式计算测试数据集的误差,其中m是测试数据集的个数:
3.3.1 模型性能的不同表述方式
在scikit-learn里,不使用成本函数来表达模型的性能,而使用分数来表达,这个分数总是在[0, 1]之间,数值越大说明模型的准确性越好。当模型训练完成后,调用模型的 score(X_test, y_test)即可算出模型的分数值,其中X_test和y_test是测试数据集样本。
模型分数(准确性)与成本成反比。即分数越大,准确性越高,误差越小,成本越低;反之,分数越小,准确性越低,误差越大,成本越高。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)