机器学习模型评估
以下方法,sklearn中都在sklearn.metrics类下,务必记住哪些指标适合分类,那些适合回归,不能混着用
分类的模型大多是Classifier结尾,回归是Regression
分类模型
accuracy_score(准确率得分)是模型分类正确的数据除以样本总数 【模型的score方法算的也是准确率】
accuracy_score(y_test,y_pre)
# 或者 model.score(x_test,y_test),大多模型都是有score方法的
classification_report中的各项得分的avg/total 是每一分类占总数的比例加权算出来的
print(classification_report(y_test,y_log_pre))
precision recall f1-score support
0 0.87 0.94 0.90 105
1 0.91 0.79 0.85 73
avg / total 0.88 0.88 0.88 178
confusion_matrix(混淆矩阵),用来评估分类的准确性
有的分类问题,实际样本中1000个A,10个B,如果最后分类大多数B都被预测错误了,但依据其他评估方法,得分反而很高(因为A的数目相对太多导致的)
>>> from sklearn.metrics import confusion_matrix
>>> y_true = [2, 0, 2, 2, 0, 1]
>>> y_pred = [0, 0, 2, 2, 0, 2]
>>>