机器学习:三个指标

首先,来了解一下下真正例、假正例、假负例、真负例。(TP,FP,FN,TN)

听着就迷迷糊糊

不过,有了下面这张图就好理解多了

嘻嘻这是我花了二十分钟做出来的!!!

下面郑重介绍一下这四个词:

·真正例 TP :实际值为yes ,预测也为yes

 

·假正例 FP :实际值为no,预测为yes

 

·假负例 FN :实际值为yes,预测为no
 

·真负例 TN:实际值为no,预测为no

 

 

其实,只要好好分析字母含义,就能很好地理解了><

然后进入正题:三个指标(准确率,精度,召回率)

·accrucy 

(预测正确的占总量)

accuracy=(TP+TN)/(TP+TN+FP+FN)

·precision

(预测正类预测正确的占预测为正类的)

precision=TP/(TP+FP)

·recall

(预测正类预测正确的占实际为正类的)

recall=TP/(TP+FN)

 

ps:附加新鲜出炉的代代码)

forecast=[1,0,1,1,1,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0]
tru     =[1,0,1,1,1,0,1,1,1,1,0,0,1,1,0,0,0,1,0,1,0,1,0,0]


l={'TP': 0, 'TN':0, 'FP': 0, 'FN': 0}
le=len(tru)
#print(le)
for i in range(0,le):
    if forecast[i]==1 and tru[i]==1:
        l['TP']+=1
    if forecast[i]==0 and tru[i]==1:
        l['FN']+=1
    if forecast[i]==1 and tru[i]==0:
        l['FP']+=1
    if forecast[i]==0 and tru[i]==0:
        l['TN']+=1
            
            
print(l)
TP=l['TP']
FP=l['FP']
TN=l['TN']
FN=l['FN']
accuracy=(TP+TN)/(TP+TN+FP+FN)
precision=TP/(TP+FP)
recall=TP/(TP+FN)
print(accuracy,precision,recall)

 


版权声明:本文为qq_43981607原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。