데이터분석 공부하기
[파이썬 머신러닝 완벽가이드] 3장. 평가 본문
성능 평가 지표(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.예측은 조금씩 하는) 것이 좋은 성능
'머신러닝' 카테고리의 다른 글
[핸즈온/완벽가이드] 분류(Classification) (0) | 2021.09.27 |
---|---|
[파이썬 머신러닝 완벽가이드] 1장. 파이썬 기반의 머신러닝과 생태계 이해(Numpy, Pandas) (0) | 2021.09.11 |
[파이썬 머신러닝 완벽가이드] 2장. 사이킷런으로 시작하는 머신러닝 (0) | 2021.09.06 |
[핸즈온 머신러닝]-제 2장: 머신러닝 프로젝트 처음부터 끝까지 (0) | 2021.08.29 |
[핸즈온 머신러닝] 제 1장 기록 (0) | 2021.08.24 |