2017-02-04 95 views
0

我犯了一个巨大的错误。我印scikit学习SVM精度输出:从计算精度,召回,F1-分数精度 - scikit学习

str(metrics.classification_report(trainExpected, trainPredict, digits=6)) 

现在我需要从以下输出精度计算:

   precision recall f1-score support 

1    0.000000 0.000000 0.000000  1259 
2    0.500397 1.000000 0.667019  1261 
avg/total 0.250397 0.500397 0.333774  2520 

是否有可能从这些值计算的准确性?

PS:我不想再花一天得到模型的输出。我只是意识到这个错误,希望我不需要从头开始。

回答

0

无需花费更多的时间就可以了。 metricsmodule具有您需要的所有内容,并且您已经计算出预测值。这是一个改变。

print(metrics.accuracy_score(trainExpected, trainPredict)) 

我建议你花一些时间阅读链接页面,以了解有关评估模型的更多信息。

我不认为你有手头一个更大的问题 - 你有你的1类零个预测值,尽管有平衡类。您的数据,建模策略或您必须处理的代码可能存在问题。

+0

您对预测值正确,我一开始没有看到。我使用了大量的样本和功能,而且花费了很多时间。我的意思是花时间实际上是在等待每个输入的输出。一行更改是正确的,但我试图找到一个计算方法,以确保这些值的准确性(通过解析这些结果中的值),以便不从头开始并将分数写入文件。感谢你的回答。 –