机器学习----评估标准

在机器学习中,要想检验训练的模型的准确性,比较好的做法是将整个数据集分为3个部分:训练集、验证集 和 测试集(而不是传统的训练集+测试集)。

  • 训练集:通常占比60%,通过几种不同的算法分别得到训练出来的θ值。 比如我选择不同的特征数量,采用x,x+x平方,x+x平方+x3次方等等训练出来的多种模型。

  • 验证集:通常占比20%,将验证集中的数据分别待入用上述不同模型训练,最后得到损失函数,采用损失函数值中最小的值作为最后选择的模型会比较好。

  • 测试集:通常占比20%,训练集用来训练出模型,验证集用来选择最好的模型,测试集就是用来测试这个模型的泛化性能了。将该测试集的数据代入验证集中选择出来的模型,可以看到最后的结果。

此外,用来判定模型好坏的标准还有错误率、准确率和召回率。

  • 错误率:错误预测的样本数/总样本数。
  • 准确率:true positive真正数/ (true positive+false positive) 真正数+假正数。具体来说,就是真正为1的那部分占你预测为1的全部数据的比例。
  • 召回率:true positive真正数/ (true positive + false negative)真正数+假负数。具体是说,实际上为1的数据中你真正预测为1的比例。

准确率和召回率能够较好的适用于具有倾斜性的数据集中。

数据集的倾斜性是指正负样本的差别巨大,以至于简单地将所有样本预测为正或负反而比做模型预测出来的错误率更低。

但是实际来说,显然这样是不对的。所以错误率不能较好应用于这类数据。

实际上,准确率和召回率是一个负相关的关系,这就意味着如果想要一个较高的准确率,那就需要较低的召回率为代价。

这可以理解为,如果在logistic回归中,将h(x)>0.7预测为y=1,而不是0.5,那么这将会提高准确率,因为70%的可能才被预测为1,更加准确;而这比50%概率就预测为1的情况下y为1的数据更少了,所以减小了召回率的分子,这就降低了召回率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值