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

蔚落 2023-06-18 09:55 22阅读 0赞

在机器学习中,要想检验训练的模型的准确性,比较好的做法是将整个数据集分为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的数据更少了,所以减小了召回率的分子,这就降低了召回率。

发表评论

表情:
评论列表 (有 0 条评论,22人围观)

还没有评论,来说两句吧...

相关阅读

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

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

    相关 机器学习评估方法)

    2.留出法:将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,随机划分,重复实验产生多个训练/测试集,取实验平均值。(注:通常,会将D中大约2/3−