怀柔网站制作公司,12306网站能不能用银河二计算机做服务器啊慢得要死,推广软件的种类,郓城县网站建设分类器性能评估在许多实际问题中#xff0c;衡量分类器任务的成功程度是通过固定的性能指标来获取。一般最常见使用的是准确率#xff0c;即预测结果正确的百分比。然而有时候#xff0c;我们关注的是负样本是否被正确诊断出来。例如#xff0c;关于肿瘤的的判定#xff0… 分类器性能评估在许多实际问题中衡量分类器任务的成功程度是通过固定的性能指标来获取。一般最常见使用的是准确率即预测结果正确的百分比。然而有时候我们关注的是负样本是否被正确诊断出来。例如关于肿瘤的的判定需要更加关心多少恶性肿瘤被正确的诊断出来。也就是说在二类分类任务下预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合构成混淆矩阵。在二类问题中如果将一个正例判为正例那么就可以认为产生了一个真正例True PositiveTP如果对一个反例正确的判为反例则认为产生了一个真反例True NegativeTN。相应地两外两种情况则分别称为伪反例False NegativeFN也称和伪正例False PositiveTP四种情况如下图在分类中当某个类别的重要性高于其他类别时我们就可以利用上述定义出多个逼错误率更好的新指标。第一个指标就是正确率Precision它等于TP/(TPFP)给出的是预测为正例的样本中占真实结果总数的比例。第二个指标是召回率Recall。它等于TP/(TPFN)给出的是预测为正例的真实正例占所有真实正例的比例。那么除了正确率和精确率这两个指标之外为了综合考量召回率和精确率我们计算这两个指标的调和平均数得到F1指标F1 measure:$${F1}{\frac{2}{\frac{1}{Precision}{}\frac{1}{Recall}}}$$之所以使用调和平均数是因为它除了具备平均功能外还会对那些召回率和精确率更加接近的模型给予更高的分数而这也是我们所希望的因为那些召回率和精确率差距过大的学习模型往往没有足够的使用价值。sklearn.metrics.classification_reportsklearn中metrics中提供了计算四个指标的模块也就是classification_report。classification_report(y_true, y_pred, labelsNone, target_namesNone, digits2)计算分类指标:param y_true:真实目标值:param y_pred:分类器返回的估计值:param target_names:可选的计算与目标类别匹配的结果:param digits:格式化输出浮点值的位数:return :字符串三个指标值
我们通过一个例子来分析一下指标的结果from sklearn.metrics import classification_report
y_true [0, 1, 2, 2, 2]
y_pred [0, 0, 2, 2, 1]
target_names [class 0, class 1, class 2]
print(classification_report(y_true, y_pred, target_namestarget_names))precision recall f1-score supportclass 0 0.50 1.00 0.67 1class 1 0.00 0.00 0.00 1class 2 1.00 0.67 0.80 3avg / total 0.70 0.60 0.61 5