목록ML & DL/Model Evaluation (5)
코딜기
다중 분류의 로그 손실(logloss)이란 무엇일까요? logloss는 분류 문제의 대표적인 평가지표이며 교차 엔트로피(cross-entropy)라 부르기도 합니다. 실제 값을 예측하는 확률에 로그를 취하여 부호를 반전시킨 값입니다. 즉, 분류 모델 자체의 잘못 분류된 수치적인 손실값(loss)을 계산합니다. logloss는 낮을수록 좋은 지표입니다. 예측 값은 행 데이터 수 X 클래스 수의 행렬로 계산되고, 행 데이터가 속한 클래스의 확률을 낮게 예측하면 패널티가 크게 주어집니다. 또한 각 행 데이터에 대한 예측 확률의 합계는 1이 되어야 하므로 그렇지 않을 경우는 평가지표 계산에서 자동 조정됩니다. Python (다중 분류) from sklearn.metrics import log_loss # 데이터..
이진 분류의 로그 손실(logloss)이란 무엇일까요? logloss는 분류 문제의 대표적인 평가지표이며 교차 엔트로피(cross-entropy)라 부르기도 합니다. 실제 값을 예측하는 확률에 로그를 취하여 부호를 반전시킨 값입니다. 즉, 분류 모델 자체의 잘못 분류된 수치적인 손실값(loss)을 계산합니다. logloss는 낮을수록 좋은 지표입니다. 위 예시처럼 각 행 데이터가 양성일 확률을 낮게 예측했음에도 양성(1)일 경우나, 양성일 확률을 높게 예측했음에도 음성(0)일 경우에는 패널티가 크게 주어집니다. 위 그래프처럼 예측값이 1이 될 확률을 1로 정확하게 예측할 때 로그 손실의 값은 최소가 됩니다. Python (이진 분류) from sklearn.metrics import log_loss # ..
F score란 무엇일까요? F score는 정밀도(precision)와 재현율(recall)의 조화평균으로 계산되는 지표입니다. 가장 많이 쓰이는 지표로는 β = 1인 F1-score가 있습니다. 정밀도(precision)와 재현율(recall), TP, FP, FN에 대한 정보는 여기에서 확인 가능합니다. Fβ - score Fβ-score는 정밀도와 재현율의 조화평균 식에서 계수 β에 따라 재현율에 가중치를 주어 조정한 지표입니다. Python from sklearn.metrics import fbeta_score # 데이터 스플릿으로 y_valid와 모델 예측으로 y_pred를 구한 후 실행 # 모델 검정이 없다면 y_true값으로 y_valid 대체 fbeta = fbeta_score(y_val..
ROC와 AUC란 무엇일까요? ROC Curve(Receiver-Operating Characteristic curve)는 민감도와 특이도가 서로 어떤 관계를 가지며 변하는지를 2차원 평면상에 표현한 Curve입니다. AUC(Area Under Curve)는 ROC Curve의 면적을 뜻하고, 1에 가까울수록 좋은 모델을 의미합니다. FP와 TP에 대한 개념은 여기에서 확인 가능합니다. AUC(Area Under Curve) from sklearn.metrics import roc_auc_score # 데이터 스플릿으로 y_valid와 모델 예측으로 y_pred_proba를 구한 후 실행 # 모델 검정이 없다면 y_true값으로 y_valid 대체 auc = roc_auc_score(y_valid, y_..
혼동 행렬(Confusion Matrix)란 무엇일까요?? 혼동 행렬 또는 오차 행렬이라 불리는 Confusion Matrix는 분류 모델의 평가지표로 많이 쓰입니다. 혼동 행렬은 각 데이터의 실제 클래스와 예측된 클래스의 개수를 조건에 맞게 행렬 성분에 채워 넣은 것입니다. 혼동 행렬에서는 정확도(Accuracy), 정밀도(Precision), 재현율(Recall) 등의 지표를 구할 수 있습니다. from sklearn.metrics import confusion_matrix # 데이터 스플릿으로 y_valid와 모델 예측으로 y_pred를 구한 후 실행 # 모델 검정이 없다면 y_true값으로 y_valid 대체 confusion_matrix = confusion_matrix(y_valid, y_pr..