Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

데이터분석 공부하기

[파이썬 머신러닝 완벽가이드] 3장. 평가 본문

머신러닝

[파이썬 머신러닝 완벽가이드] 3장. 평가

Eileen's 2021. 9. 9. 22:00

성능 평가 지표(Evaluation Metric) :

-회귀 : 실제값과 예측값의 오차 평균값(1)절대값을 씌운 오차 평균, 2) 제롭 값에 루트를 씌운 평균 오차)

-분류: 정확도(Accuracy), 오차행렬(Confusion Matrix), 정밀도(Precision), 재현율(Recall), F1 스코어, ROC AUC

         -분류의 결정 클래스 값의 종류 : 이진 분류(긍정/부정), 멀티 분류 

         -상위 분류지표는 모든 분류에 적용되지만, 특히 이진 분류에서 매우 중요하게 강조됨

 

[분류의 평가 지표]

1. 정확도(accuracy_score())= (예측결과가 동일한 데이터 건수)/ (전체 예측 데이터 건수)

     -분균형한 레이블 값 분포에 활용하면 안됨. ex) 타이타닉 생존자 예측에서 단순 성별로만 생존자로 예측해도 매우 높은 정확도 도출

2. 오차행렬(confusion_matrix()) : 예측 오류가 얼마인지 + 어떤 유형의 예측 오류가 발생하는지 

3. 정밀도(precision_score()) & 재현율(recall_score()) : 정밀도/재현율의 수치는 trade-off의 특성을 가진다
     -분류의 결정 임계값(threshold)가 높아질수록, 정밀도는 낮아지고, 재현율은 높아진다.
     -predict_proba()는 각 데이터의 결과 클래스별 (ex> 0(dead), 1(survived)) 확률을 나타낸다.
       predict()는 이에 기반하여, threshold인 0.5보다 높은 쪽의 결과 클래스를 반환한다.
      precision_recall_curve() : 임계값, (임계값에 따른) 정밀도, 재현율 ndarray반환; 그래프화하여 trade-off를 볼 수 있음

4. F1 스코어(f1_score()): 정밀도와 재현율을 결합한 지표 

5. ROC곡선과 AUC (roc_curve()): AUC(area under curve)는 ROC(Receiver Operation Characteristic Curve)선 밑 면적
    - TRP(재현율) : 실제 Positive일때, Positive를 옳게 예측; FPR(1-특이성): 실제 Negative일때, Positive로 잘못 예측
    - TNR(특이성) : 실제 Negative일때, Negative로 옳게 예측

    - 면적이 1에 가까워 질 수록-즉, 임계값을 낮추어, Pos. 예측을 높일 때, TRP는 급격히 늘고,
       TNR는 조금씩 느는 (TP 훨씬 많이 하고, 실수pos.예측은 조금씩 하는) 것이 좋은 성능