Classification Analysis
Model Evaluation, Confusion Matrix, Accuracy, F1-Score, ROC-AUC
Last updated
Model Evaluation, Confusion Matrix, Accuracy, F1-Score, ROC-AUC
Last updated
Class๋ฅผ ์์ธกํ ์ ์๋ Classification ๋ชจ๋ธ์ ์ ์ ํ๋ค.
๋ฐ์ดํฐ๋ฅผ ํ์ต์ฉ๊ณผ ๊ฒ์ฆ์ฉ ๋ฐ์ดํฐ๋ก ๋ถ๋ฆฌํ๊ณ , Random Samplingํ์ฌ Class ๋น์จ์ ์กฐ์ ํ๋ค.
๋ถ๋ฅ ๋ชจ๋ธ์ ๋ง๋ค๊ณ ์์ธกํ๋ค.
๋ชจ๋ธ ์ฑ๋ฅ ์งํ๋ฅผ ํ์ธํ๊ณ ๋ชจ๋ธ์ ์ ํ๋๋ฅผ ๊ฒ์ฆํ๋ค.
๋ชจ๋ธํ๊ฐ๋ ํ๊ฐ์งํ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ ์ฑ๋ฅ์ ํ๊ฐํ๋ ๋จ๊ณ์ด๋ค. ํ๊ท๋ชจ๋ธ์ด๋ ๋ถ๋ฅ๋ชจ๋ธ์ด๋์ ๋ฐ๋ผ ํ๊ฐ์งํ์ ๋ฐฉ๋ฒ์ด ๋ค๋ฅด๋ค.
๋ถ๋ฅ ๋ชจ๋ธ ์ฑ๋ฅ์ ํ๊ฐํ ๋๋ ์ผ๋ง๋ ์ ํํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ถ๋ฅํ๋์ง ํ๊ฐํด์ผ ํ๋ค. ๋ถ๋ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ด๊ณ ์๋ ํผ๋ํ๋ ฌ(Confusion Matrix)์ ์ด์ฉํ์ฌ ํ๊ฐํ ์ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋(Accuracy)๋ฅผ ์ด์ฉํ์ฌ ํ๊ฐํ์ง๋ง, ๋ฐ์ดํฐ๊ฐ ๋ถ๊ท ํ์ด ์ฌํ ๊ฒฝ์ฐ, F1-Score๋ก ํ๊ฐํ๋ค. ์ด์ง๋ถ๋ฅ์์๋ ROC-AUC ํ๊ฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
ํผ๋ ํ๋ ฌ์ ๋ถ๋ฅ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๊ฐํ๊ธฐ ์ํ ํ๋ ฌ๋ก TP, FN, FP, TN ์งํ๋ฅผ ์ ๊ณตํ๋๋ฐ, ์ด๋ค์ ์กฐํฉ์ผ๋ก ๋ถ๋ฅ๊ธฐ ์ฑ๋ฅ์ ํ๊ฐํ ์งํ๋ฅผ ์ฐ์ถํ ์ ์๋ค.
์๋ฅผ ๋ค์ด, ์คํธ ๋ถ๋ฅ๊ธฐ ์ฑ๋ฅ์ ํ๊ฐํด๋ณด์. ์คํธ๋ถ๋ฅ๊ธฐ๊ฐ ์คํธ๋ฉ์ผ๋ก ์์ธกํ ๊ฒฝ์ฐ๋ฅผ ๊ธ์ ์ ์ธ ๊ฒ(Positive)์ผ๋ก, ์ผ๋ฐ๋ฉ์ผ๋ก ์์ธกํ ๊ฒฝ์ฐ๋ฅผ ๋ถ์ ์ ์ธ ๊ฒ(Negative)์ผ๋ก ์ ์ํ๋ค.
์ ํ (True) Positive๋ Negative ๋ ์ ๋ต์ ์ ํ์งํ ๊ฒ์ ์ ํ์ด๋ผ๊ณ ํ๋ค. ๋ถ๋ฅ๊ธฐ๊ฐ ์คํธ์ ์คํธ์ผ๋ก, ์ผ๋ฐ๋ฉ์ผ์ ์ผ๋ฐ๋ฉ์ผ๋ก ์ ๋ถ๋ฅํ ๊ฒฝ์ฐ์ด๋ค. TP -> True (์ ๋ต, ์) Positive (๊ธ์ ์ผ๋ก ์์ธก) TN -> True (์ ๋ต, ์) Negative (๋ถ์ ์ผ๋ก ์์ธก)
์คํ (type1 error) ์ผ๋ฐ๋ฉ์ผ์ ์คํธ์ผ๋ก ์๋ชป ๋ถ๋ฅํ ๊ฒฝ์ฐ๋ฅผ ์คํ์ด๋ผ๊ณ ํ๋ฉฐ, ๊ธฐ๊ฐํด์ผํ ๊ฐ์ค์ ์ฑํํ๋ 1์ข ์ค๋ฅ์ด๋ค. FP -> False (์ค๋ต, ์๋ชป) Positive (๊ธ์ ์ผ๋ก ์์ธก)
๋ฏธํ (type2 error) ์คํธ์ ์ผ๋ฐ๋ฉ์ผ๋ก ์๋ชป ๋ถ๋ฅํ ๊ฒฝ์ฐ๋ฅผ ๋ฏธํ์ด๋ผ๊ณ ํ๋ฉฐ, ์ฑํํด์ผํ ๊ฐ์ค์ ๊ธฐ๊ฐํ๋ 2์ข ์ค๋ฅ์ด๋ค. FN -> False (์ค๋ต, ์๋ชป) Negative (๋ถ์ ์ผ๋ก ์์ธก)
์คํ๊ณผ ๋ฏธํ ์ค์ ๋ฏธํ์ ๋ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ฌ์ผ ํ๋ค. ์คํ์ ์์ธ ๋ถ์์ ํตํด ํ์ง ๊ฐ๋ฅํ์ง๋ง, ๋ฏธํ์ ๋ถ์์กฐ์ฐจ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
TP, FN, FP, TN ์งํ๋ก ์ด์ฉํ์ฌ ์ถ๊ฐ์ ์ผ๋ก accuracy, precision, sensitivity, specificity ์งํ๋ฅผ ์ฐ์ถํ ์ ์๋ค.
Accuracy ์ ํ๋๋ ์ ์ฒด์์ ๋ชจ๋ธ์ด ์ ๋ต์ผ๋ก ์ ๋ถ๋ฅํ ๊ฒ์ ๋น์จ์ด๋ค. Class ๋ถํฌ๊ฐ ๋น์ทํ ๋ ์ฌ์ฉํ๋ค.
Accuracy = (TP + TN) / (TP + TN + FP + FN)
์ ๋ฐ๋๋ ๋ชจ๋ธ์ด Positive๋ก ์์ธกํ ๊ฒ ์ค์ ์ค์ ๋ก ์ ๋ต์ด Positive์ธ ๋น์จ์ด๋ค. ๋ชจ๋ธ์ด Negative๋ก ์์ธกํ ๊ฒ ์ค์ ์ค์ ๋ก ์ ๋ต์ด Negative์ธ ๋น์จ๋ Precision์ด๋ค.
Precision = TP / (TP + FP) Precision = TN / (TN + FN)
์ฌํ์จ์ ์ค์ ์ ๋ต์ด Positive์ธ ๊ฒ ์ค์ ๋ชจ๋ธ์ด Positive๋ก ์ ์์ธกํ ๋น์จ์ด๋ค. ์ค์ ์ ๋ต์ด Negative์ธ ๊ฒ ์ค์ ๋ชจ๋ธ์ด Negative๋ก ์ ์์ธกํ ๋น์จ๋ Recall์ด๋ค.
Recall = TP / (TP + FN) Recall = TN / (TN + FP)
F1-Score๋ Class ๋ถํฌ๊ฐ ๋ถ๊ท ํ์ด ์ฌํ ๋ Accuracy ๋จ์ ์ ๋ณด์ํ F1-Score๋ฅผ ์ฌ์ฉํ๋ค. Precision๊ณผ Recall ์ ์กฐํํ๊ท ์ผ๋ก ์ ๋ฐ๋์ ์ฌํ์จ์ด ์ด๋ ํ์ชฝ์ผ๋ก ์น์ฐ์น์ง ์์ ๋ 1์ ๊ฐ๊น์ด ๊ฐ์ ๊ฐ์ง๋ค. F1-Score๋ 0~1 ์ฌ์ด ๊ฐ์ ๊ฐ์ง๋ฉฐ 1์ ๊ฐ๊น์ธ ์๋ก ์ข๋ค.
F1-Score = 2 x Precision x Recall / (Precision + Recall)
ROC-AUC๋ ๋ณดํต ์ด์ง๋ถ๋ฅ์์ ๋ง์ด ์ฌ์ฉํ๋ ํ๊ฐ๋ฐฉ๋ฒ์ด๋ค. ๋ฏผ๊ฐ๋(TPR)์ ํน์ด๋(TNR)๋ฅผ ์ด์ฉํ์ฌ ๋ชจ๋ธ์ ํ๊ฐํ๋ค. ROC Curve๋ ๋ถ๋ฅ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ ๊ทธ๋ํ์ด๊ณ ROC Curve ์๋ ๋ฉด์ ์ AUC๋ผ๊ณ ํ๋ค. ROC Curve๊ฐ ๋ณผ๋กํ ํํ์ด๋ฉด์ AUC๊ฐ ํด์๋ก ๋ชจ๋ธ ์ฑ๋ฅ๋ ์ข์ ๊ฒ์ด๋ค. AUC๋ 0~1 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ฉฐ 1์ ๊ฐ๊น์ธ ์๋ก ์ข๋ค. ๋ณดํต ๋๋ค์ผ๋ก ์ ํํ๋ฉด AUC๊ฐ 0.5์ ๊ฐ๊น๊ณ ROC Curve๋ ์ง์ ์ ๊ฐ๊น์์ง๋ค.
TNR (True Negative Rate, Specificity, ํน์ด๋) TNR์ ์ค์ ์ ๋ต์ด Negative ์ธ ๊ฒ ์ค์ ๋ชจ๋ธ์ด Negative๋ก ์ ์์ธกํ ๋น์จ์ด๋ค. TN/(TN+FP)
FPR (False Positive Rate) FPR๋ ์ค์ ์ ๋ต์ด Native์ธ ๊ฒ ์ค์ ๋ชจ๋ธ์ด Positive๋ก ์๋ชป ์์ธกํ ๋น์จ์ด๋ค. FPR = FP/(FP+TN) 1- TNR
์ฐธ๊ณ ๋ก ๋ค์ค๋ถ๋ฅ๋ OvR(One-vs-Rest) ๋ฌธ์ ๋ก ์๊ธฐ ํด๋์ค๋ Positive ๋๋จธ์ง๋ ๋ชจ๋ Negative๋ก ํ์ฌ ๊ณ์ฐํ๋ค.
https://medium.com/swlh/how-to-remember-all-these-classification-concepts-forever-761c065be33