python 预测结果评价 准确率 精度 查全率 accuracy precision recall F1

对测试集进行0-1预测

准确率:预测对的/总预测数,包括预测对的0也包括预测对的1,用处:代表着模型的整体准度,越高模型越准

精度:预测为1的准确度,用处:代表着1的准度

查全率:预测出的1占了真实1的百分比,用处:代表着预测1的覆盖情况

举例:

现在要推荐股票,分析师A,既想预测哪些要涨,又想预测哪些要跌,所以,他关注的是预测的准确度;分析师B,不求准确率,只求自己推荐的股票能涨,他关注的是自己的预测精度;分析师C,他想把所有上涨的股票都预测出来,他关心的是查全率。

假如市场上有100只股票,20只上涨,80只下跌,假设上涨为1,下跌为0

分析师A:预测20只上涨,80只下跌,其中预测对了15只上涨和75只下跌,剩下10只预测错了,那么他的准确率90%,精度(预测上涨)75%,查全率75%

分析师B:预测10只上涨,90只下跌,其中预测对了10只上涨和80只下跌,剩下10只预测错了,那么他的准确率90%,精度(预测上涨)100%,查全率50%

分析师C:预测30只上涨,70只下跌,其中预测对了20只上涨和70只下跌,剩下10只预测错了,那么他的准确度90%,精度(预测上涨)66%,查全率100%

可以看出,虽然三者的准确率相同,在股票赚钱的问题上,我们会选择B,特定情况下,我们的着眼点是不同的。

F1是2*(Precision*Recall)/(Precision+Recall),F1越高越好,但是也要具体问题具体分析

分析师A:0.75

分析师B:0.66

分析师C:0.80

你可能感兴趣的:(Python)