模型评估主要分为离线评估和在线评估两个阶段。针对分类、排序、回归、 序列预测等不同类型的机器学习问题,评估指标的选择也有所不同。本文介绍几种主流的评估指标。
- 准确率
准确率是最简单的指标,即分类正确的个数与总样本数之比。
但是当样本不平衡时,该指标具有明显的局限性。如:正样本占99%,负样本占1%,即使瞎猜把所有测试集预测为正,准确率也有99%,看起来准确率很高,然而模型没有什么意义。
from sklearn.metrics import accuracy_score
xgb1.fit(X_train,y_train)
y_pred = xgb1.predict(X_test)
predictions=[round(value) for value in y_pred]
test_accuracy=accuracy_score(y_test,predictions)
- 精确率和召回率
针对准确率的缺陷,引入了精确率和召回率(也称查准率和查全率)。
精确率是指分类正确的正样本个数占分类器判定为正样本的样本个数的比例。召回率是指分类正 确的正样本个数占真正的正样本个数的比例。
在排序问题中,通常没有一个确定的阈值把得到的结果直接判定为正样本或 负样本,而是采用Top N返回结果的Precision值和Recall值来