import numpy as np
import sklearn.metrics13wk-47: 평가지표의 계산
최규빈
2023-12-01
1. 강의영상
https://youtu.be/playlist?list=PLQqh36zP38-zr8gM9nYpQ_0Q_OKIqeU0d&si=lX6pDp3cV_fME8mg
2. Imports
3. 12wk-46 숙제풀이
밀실안에 100명의 사람이 있다고 하자. 이중 이중휴민트는 2명이 있다고 하자. 이중휴민트를 잡기위해서 3명을 사살했다고 하자. 사살된 사람중 실제 이중휴민트는 1명이었다고 하자. 이 경우
- accurary
- TPR(=recall)
- precision
- FPR
값을 계산하라.
- y, yhat
y = np.array([1]*2 + [0]*98)
yarray([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])
yhat = np.array([0,1,1,1]+[0]*96)
yhatarray([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]])
(tn,fp),(fn,tp) = sklearn.metrics.confusion_matrix(y,yhat)- accuracy
(tp+tn)/(tn+fp+fn+tp) # accuracy 0.97
sklearn.metrics.accuracy_score(y,yhat)0.97
- recall
tp/(tp+fn)0.5
sklearn.metrics.recall_score(y,yhat)0.5
- precision
tp/(tp+fp)0.3333333333333333
sklearn.metrics.precision_score(y,yhat)0.3333333333333333
- FPR
fp / (fp+tn)0.02040816326530612