交叉验证、精确率、召回率
1. 交叉验证
交叉验证是在机器学习建立模型和验证模型参数时常用的办法。交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,用测试集来评估模型预测的好坏。
那么什么时候才需要交叉验证呢?
交叉验证用在数据不是很充足的时候。如果数据样本量小于一万条,我们就会采用交叉验证来训练优化选择模型。如果样本大于一万条的话,我们一般随机的把数据分成三份,一份为训练集,一份为验证集,最后一份为测试集。
用训练集来训练模型,用验证集来评估模型预测的好坏和选择模型及其对应的参数。把最终得到的模型再用于测试集,最终决定使用哪个模型以及对应参数。
2. 精确率、召回率
在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念。
-
True Positives,TP:预测为正样本,实际也为正样本的特征数
-
False Positives,FP:预测为正样本,实际为负样本的特征数
-
True Negatives,TN:预测为负样本,实际也为负样本的特征数
-
False Negatives,FN:预测为负样本,实际为正样本的特征数
使用RoC曲线和PR曲线,我们就能很方便的评估我们的模型的分类能力的优劣了。