import numpy as np
import sklearn.metrics
13wk-47: 평가지표의 계산
1. 강의영상
2. Imports
3. 12wk-46 숙제풀이
밀실안에 100명의 사람이 있다고 하자. 이중 이중휴민트는 2명이 있다고 하자. 이중휴민트를 잡기위해서 3명을 사살했다고 하자. 사살된 사람중 실제 이중휴민트는 1명이었다고 하자. 이 경우
- accurary
- TPR(=recall)
- precision
- FPR
값을 계산하라.
-
y
, yhat
= np.array([1]*2 + [0]*98)
y y
array([1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
= np.array([0,1,1,1]+[0]*96)
yhat yhat
array([0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
-
혼동행렬(=confusion matrix) 만들기
sklearn.metrics.confusion_matrix(y,yhat)
array([[96, 2],
[ 1, 1]])
= sklearn.metrics.confusion_matrix(y,yhat) (tn,fp),(fn,tp)
-
accuracy
+tn)/(tn+fp+fn+tp) # accuracy (tp
0.97
sklearn.metrics.accuracy_score(y,yhat)
0.97
-
recall
/(tp+fn) tp
0.5
sklearn.metrics.recall_score(y,yhat)
0.5
-
precision
/(tp+fp) tp
0.3333333333333333
sklearn.metrics.precision_score(y,yhat)
0.3333333333333333
-
FPR
/ (fp+tn) fp
0.02040816326530612