Classification Model์ ์ฑ๋ฅ์ ์ธก์ ํ๋ ๋ฐฉ๋ฒ๊ณผ ์์๋ธ์ ๋ํด์ ๋ค๋ฃฐ ๊ฒ์ด๋ค
Accuracy Evaluation
๋ชจ๋ธ์ ์ ํ์ฑ์ ํ๊ฐ
- ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ํตํด์ ๋ชจ๋ธ์ ๋ถ๋ฅ ์ ํ์ฑ์ ํ๊ฐ ํ๋ค
- Test Data
- ์ ํ์ฑ ์ธก์ ์ ์ํด ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ์
<Feat 1, Feat 2, ..., Feat n, Class Label>
์ ํํ- ๋ชจ๋ธ์ ์ ๋ ฅํ ๋๋ ์ ๋ต ํด๋์ค๋ฅผ ์ ์ธํ๊ณ ์ ๋ ฅํ ํ, ์์ธก๊ฐ๊ณผ ์ฃผ์ด์ง Class Label์ ๋น๊ตํ๋ค
- Accuray = ๋ชจ๋ธ์ด ์ ํํ๊ฒ ๋ถ๋ฅํ ๊ฐ์
- ํ
์คํธ ๋ฐ์ดํฐ๋ ํ์ต์ ์ฌ์ฉ๋์ง ์์ ๋
๋ฆฝ์ ์ธ ๋ฐ์ดํฐ์ฌ์ผ ํ๋ค
- ํ์ต์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ๋ก ํ ์คํธ๋ฅผ ํ๋ ๊ฑด, ์ด๋ฏธ ๋ต์ ์๋ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์
Confusion Matrix
๋ถ๋ฅ ๋ชจ๋ธ ์ฑ๋ฅ ํ๊ฐ ์งํ
- ๊ฐ ์ํธ๋ฆฌ๋ class i์ธ ๋ฐ์ดํฐ์ ๋ํด ๋ชจ๋ธ์ด class j๋ก ์์ธกํ ๊ฐ์๋ฅผ ์๋ฏธํ๋ค
- True Positive: Yes์ธ ๊ฐ์ Yes๋ผ๊ณ ๋ถ๋ฅํ๋ ๊ฒ (์ ๋ต)
- False Negative : No์ธ ๊ฐ์ No๋ผ๊ณ ๋ถ๋ฅํ๋ ๊ฒ (์ ๋ต)
- True Negative: Yes์ธ ๊ฐ์ No๋ผ๊ณ ๋ถ๋ฅํ๋ ๊ฒ (์ค๋ต)
- False Positive: No์ธ ๊ฐ์ Yes๋ผ๊ณ ๋ถ๋ฅํ๋ ๊ฒ (์ค๋ต)
์์
- ๋ชจ๋ธ์ ์ ํ์ฑ์ ์ฌ๋ฐ๋ฅด๊ฒ ๋ถ๋ฅ๋ ๋ฐ์ดํฐ์ ๋น์จ ์ด๋ค
(2588 + 6954) / 10000
- ๋ชจ๋ธ์ ์ค๋ฅ๋
(1.0 - Accuracy)
Alternative Accuracy
Accuracy๋ฅผ ๋์ฒดํ๋ ์ธก์ ๊ฐ๋ค
- Sensitivity(Recall) =
true positive / positive
- positiveํ ๋ฐ์ดํฐ ์ค์, ๋ชจ๋ธ์ด positive๋ผ๊ณ ์ธ์ํ ๋ฐ์ดํฐ์ ๋น์จ
- Sensitivity๋ฅผ Recall์ด๋ผ๊ณ ๋ ํ๋๋ฐ, ์ผ๋ฐ์ ์ผ๋ก Recall์ผ๋ก ๋ ์๋ ค์ ธ์๋ค
- Sepecificity =
true negative / negative
- negativeํ ๋ฐ์ดํฐ ์ค์, ๋ชจ๋ธ์ด negative๋ผ๊ณ ์ธ์ํ ๋ฐ์ดํฐ์ ๋น์จ
- Precision =
true positive / (true positive + false positive)
- Yes(positive)๋ก ๋ถ๋ฅํ ๊ฒ ์ค์ ์ค์ ๋ก positive์ธ ๊ฒ์ ๊ฐ์
Recall๊ณผ Precision์ ์์ฑ์ ๋ฏผ๊ฐํ ๋ชจ๋ธ ์ ์ฑ๋ฅ์ ์ธก์ ํ ๋, ์ฌ์ฉ๋๋ค
ํ์ง๋ง ๋์ ์๋ก trade-off ๊ด๊ณ ์ ์๋ค
=> ๊ทธ๋์ ๋์ ์ ์ ํ ๊ฒฝ๊ณ๋ฅผ ์ฐพ์ ํ๊ฐ ์งํ๊ฐ F1-score
F1-score
- ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์ธก์ ํ ๋, F1-score๋ผ๋ ๊ฒ๋ ๋ง์ด ์ฌ์ฉ
- Precision๊ณผ Recall์ ์๋ก ์์กด์ (Dependent) ์ด๋ค
- ์๋ก์ ๋นํ์ ๋ณด์ํด์ฃผ๋ ๊ด๊ณ
Recall์ด๋ Precision ์ค ํ๋๋ง ์ฑ๋ฅ์ ์งํ๋ก ์ฌ์ฉํ๋ฉด ์ด๋ค ๋ฌธ์ ๊ฐ ์์๊น?
- ๋ชจ๋ ๋ฐ์ดํฐ์ ๋ํด์ Yes(Positive)๋ก ๋ถ๋ฅํ๊ฒ ๋๋ฉด, Recall๊ฐ์ด ํญ์ 100%๋ก ๋์จ๋ค
- Positiveํ ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ Positive๋ก ๋ถ๋ฅ๋๊ธด ํ ํ ๋๊น
- Positiveํ ๋ฐ์ดํฐ ์ค์ ํ๋๋ง ์ ํํ๊ฒ Yes๋ก ๋ถ๋ฅํ ๊ฒฝ์ฐ
- ํ๋๋ง ์ ๋๋ก ๋ถ๋ฅํ๋๋ฐ๋, Precision์ด 100%๋ก ๋์จ๋ค
Recall์ด๋ Precision ์ค์ ํ๋๋ง ์ฌ์ฉํ์ ๋๋, ์ด๋ฌํ ๋ฌธ์ ๊ฐ ์๊ธฐ ๋๋ฌธ์
์๋ก๊ฐ ์๋ก์ ๋จ์ ์ ๋ณด์ ํด์ค๋ค
Evaluation Protocols
์ฑ๋ฅ์ ํ๊ฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ๋ค
Holdout Method
์ฃผ์ด์ง ๋ฐ์ดํฐ๋ฅผ ๋๋คํ๊ฒ 2๊ฐ์ ๋ ๋ฆฝ๋ ํํฐ์ ์ผ๋ก ๋๋๋ค
- ํํฐ์
์ ๊ฐ๊ฐ Training set, Test set์ผ๋ก ์ฌ์ฉ
- Training set: ๋ชจ๋ธ์ ํ์ตํ๊ธฐ ์ํด์ ์ฌ์ฉ
- Test set: ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๊ฐํ๊ธฐ ์ํด์ ์ฌ์ฉ
- K๋ฒ ๋ฐ๋ณตํด์ ์ฑ๋ฅ์ ์ธก์ ํ๋ค
- ๋๋คํ๊ฒ ํํฐ์ ์ Splitํ๊ธฐ ๋๋ฌธ์, ํ๋ฒ์ผ๋ก๋ ์ถฉ๋ถํ์ง ์๋ค
- ์ฌ๋ฌ๋ฒ ๋ฐ๋ณตํ ๊ฒฐ๊ณผ์ ํ๊ท ์ ์ฌ์ฉํ๋ค
- K๊ฐ ์ปค์ง์๋ก, ์ ๋ขฐ๋๊ฐ ์ฌ๋ผ๊ฐ
Cross-validation
๋์ผํ ํฌ๊ธฐ๋ฅผ ๊ฐ๋ K๊ฐ์ Subset์ผ๋ก Data๋ฅผ ๋ถ๋ฆฌํ๋ค
- K-fold Cross-validation ์ด๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค
- K๋ ์ผ๋ฐ์ ์ผ๋ก 5 ๋๋ 10์ผ๋ก ์ก๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค
- i๋ฒ์งธ iteration์์๋ i๋ฒ์งธ Fold๋ฅผ ํ ์คํธ ๋ฐ์ดํฐ๋ก ์ฌ์ฉํ๊ณ , ๋๋จธ์ง Fold๋ฅผ ํ์ต์ฉ์ผ๋ก ์ฌ์ฉ ํ๋ค
- K๋ฒ์ iteration์์ ๋์จ ๊ฒฐ๊ณผ์ ํ๊ท ์ ์ฑ๋ฅ์ผ๋ก ์ฌ์ฉํ๋ค
Leave-one-out
K-fold Cross-validation์ ๊ทน๋จ์ ์ธ ๊ฒฝ์ฐ
- K-folds์์ K๋ฅผ ๋ฐ์ดํฐ์ ๊ฐ์๋ก ์ก๋๋ค
- ์ฆ, ํ๋์ Fold๊ฐ ํ๋์ ๋ฐ์ดํฐ๋ง ๋ด๊ณ ์๊ฒ ๋๋ค
- ๋ฐ์ดํฐ์ ์๊ฐ ๋งค์ฐ ์์ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค
Stratified Cross-validation
K-fold Cross-validation์ ๋ ๋ค๋ฅธ ํน๋ณ ์ผ์ด์ค
- ๊ฐ Fold์ ๋ค์ด์๋ ๋ฐ์ดํฐ๋ค์ Class ๋ถํฌ๊ฐ ์ผ์ ํ๋๋ก Fold๋ฅผ ๋ถ๋ฆฌ ํ๋ค
- ๋ง์ฝ ๊ฐ์ฐ์์ ๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋๋ก ํ๋ค๊ณ ํ๋ฉด, ๋ชจ๋ Fold์ ๋ฐ์ดํฐ๋ค์ Class๊ฐ ๊ฐ์ฐ์์ ๋ถํฌ๋ฅผ ๋ฐ๋ผ์ผ ํ๋ค
Ensemble
์์๋ธ
- ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด์ ์ฌ๋ฌ ๊ฐ์ ๋ชจ๋ธ์ ์ฌ์ฉ ํ๋ค
- K๊ฐ์ ํ์ต๋ ๋ชจ๋ธ๋ค์ ์์ธก๊ฐ์ ์ข ํฉํด์ ์ต์ข ์ ์ธ ์์ธก๊ฐ์ผ๋ก ์ฌ์ฉํ๋ค
- Popular Ensemble Method
- Bagging: ๋จ์ํ๊ฒ K๊ฐ์ ๋ชจ๋ธ์ด ์์ธกํ ๊ฒฐ๊ณผ๋ฅผ ๋ค์๊ฒฐ์ ๋ฐ๋ผ ์ต์ข ๊ฒฐ๊ณผ ์์ธก
- Boosting: ๊ฐ ๋ชจ๋ธ๋ง๋ค์ Weight๋ฅผ ๊ณ ๋ คํด์ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐ์ ํ๋ค
- Model Ensemble: ์ฌ๋ฌ ์ข
๋ฅ์ ๋ชจ๋ธ์ ์์๋ธํด์ ์ฌ์ฉํ๋ค
- Ex) SVM + Decision Tree + Neural Network + ...
์ด๋ฏธ ์์์ Random Forestํ ๋ ๋ฐฐ์ ๋ ๊ฐ๋ ์ด๋ค
Bagging
Bootstrap Aggregation
- Training
- ๊ฐ Iteration๋ง๋ค Original Data๋ก๋ถํฐ ๋๋คํ๊ฒ ์ํ๋ ๋ฐ์ดํฐ ์ ์ ์ฌ์ฉํ๋ค
- ์ด๋ ์ฌ์ฉ๋๋ Sample Data(Bootstrap)์ ํฌ๊ธฐ๋ ์๋ณธ ๋ฐ์ดํฐ ์ ์ ํฌ๊ธฐ์ ๋์ผํด์ผ ํ๋ค
- i๋ฒ์งธ Bootstrap์ ์ฌ์ฉํด์ i๋ฒ์งธ ๋ชจ๋ธ Mi๊ฐ ํ์ต๋๋ค
- Classification
- ๊ฐ ๋ชจ๋ธ์ ํ ์คํธ ๋ฐ์ดํฐ์ ๋ํด์ ์์ธก๊ฐ์ ๋ฐํํ๋ค
- Bagging์ ๊ฐ์ฅ ๋ง์ด ๋์จ ์์ธก๊ฐ์ ์ต์ข ๊ฒฐ๊ณผ๋ก ์ ํํ๋ค (๋ค์๊ฒฐ)
Boosting
๊ฐ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๊ธฐ๋ฐํ Weight๋ฅผ ๊ณ ๋ คํ์ฌ ์ต์ข ๊ฐ์ ๊ฒฐ์ ํ๋ ๋ชจ๋ธ
- Iteration๋ง๋ค Sample(Bootstrap)์ ์์ฑํด์, K๊ฐ์ ๋ชจ๋ธ์ ํ์ต์ํค๋ ๊ฐ๋ ์ ๋์ผํ๋ค
๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค
- ์ด๊ธฐ์๋ ๊ฐ ๋ฐ์ดํฐ๋ง๋ค
1/d
์ Weight๋ฅผ ๋ถ์ฌํ๋ค- ์ด Weight๋ ๋ฐ์ดํฐ๋ฅผ ์ํ๋งํ ๋๋ ์ ์ฉ๋๋ ๊ฐ๋ ์ด๋ค
- Weight๊ฐ ๋์ ๋ฐ์ดํฐ๊ฐ ์ํ๋ง๋ ํ๋ฅ ์ด ๋๋ค
- 1 ~ K๊น์ง์ Iteration์ ํตํด์ K๊ฐ์ ๋ชจ๋ธ์ ํ์ตํ๊ณ , ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด์ ๊ฐ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๊ฐํ๋ค
- ์ด๋ ํ ์คํธ ๋ฐ์ดํฐ๋ ์ํ๋์ง ์์ ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ๋์ด์ผ ํ๋ค
- i๋ฒ์งธ ๋ชจ๋ธ์ด ์ ๋๋ก ๋ถ๋ฅํ์ง ๋ชปํ ๋ฐ์ดํฐ์ ๋ํด Weight๋ฅผ ๋์ฌ์, i+1๋ฒ์งธ ๋ชจ๋ธ์์ ์ํ๋ง๋์ด ํ์ต๋ ํ๋ฅ ์ ๋์ธ๋ค
- ๊ฐ ๋ชจ๋ธ์ด ๋ณด์๋ Accuracy๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ต์ข Vote๋ฅผ ํ ๋ ์ฌ์ฉ๋๋ Weight๋ฅผ ๊ฒฐ์ ํ๋ค
'HYU > ๋ฐ์ดํฐ์ฌ์ด์ธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
11. Rule Based Classification (0) | 2024.04.14 |
---|---|
10. Overfitting (0) | 2024.04.14 |
9. Decision Tree (0) | 2024.04.13 |
8. Classification (0) | 2024.04.13 |
7. Association Rules (0) | 2024.04.13 |