[๊ธฐ๊ณํ์ต] 7. Decision Tree
1. Decision Tree and Impurity
1. Decision Tree (DT)
1) Decision Tree
์์ฌ๊ฒฐ์ ํธ๋ฆฌ๋ ๋ฐ์ดํฐ ๋ถ๋ฅ๋ฅผ ๋๋ฌด์ ๋ชจ์์ ๋น๋์ด ๋ฐ์ดํฐ์ ๊ท์น์ ์ฐพ๋ ๋ฐฉ๋ฒ์ด๋ค. ๊ณ์ธต์ ๋ถ๊ธฐ๋ฅผ ๊ฐ์ง๋ฉฐ, IF-THEN ๊ท์น์ ๊ธฐ๋ฐํ์ฌ ๋ถ๋ฅํ๋ค. IF์์๋ ๋ถ๊ธฐ, THEN๋ Label์ ๋ฐ๋์ ๊ฐ์ง๋ค.
2) Characteristics of DT
์์ฌ๊ฒฐ์ ํธ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ค. (2,3,4,7์ ํจ๊ป ๋ค๋๋ ํน์ง์ด๋ค! ํ๋ฒ ์๊ฐํด๋ณด์)
- Recursive partitioning : ์ฌ๊ท์ ์ธ ๋ถํ
- Explicit rule extraction : ๊ท์น์ด ๋ช ํํ๋ค
- Interpretability : ๋ชจ๋ธ ํด์์ ์ค๋ช ๋ ฅ์ด ์๋ค
- Axis-orthogonal partitioning : ์ง๊ต์ ํํฐ์ ๋, ๋๋ถ์ ์์๋์ ์ฌ๋ฌ ํน์ง์ด ๋ํ๋จ
- Greedy method : ๊ฐ๊ฐ์ ์์ ์์ ์ต์ ์ ์ ํ์ ํ๋ค
- Robust to nominal, variables outliers, missing values : ์ธ๊ฐ์ง์ ์ํฅ์ ์ ๊ฒ ๋ฐ๋๋ค
- Variable selection : ๋ณ์ ์ ํ์ด ๊ฐ๋ฅ
3) Terminologies of DT
๋ถ๊ธฐ๋ฅผ ํ๋ root๋ฅผ ํฌํจํ ๋ชจ๋ node๋ค์ ๋ณ์๋ฅผ ์๋ฏธํ๋ค. ์์ธ๋ก leaf node๋ค์ class label๋ฅผ ๋ํ๋ธ๋ค. ์ฐธ๊ณ ๋ก ๋ชจ๋ ๋ ธ๋๋ค์ ๋ ธ๋์์ ๋ถํฌ์ ๋ฐ๋ผ ํ๋์ ํด๋์ค๋ก ๊ฒฐ์ ๋๋ค. ๋ ธ๋ ์์ ๋ค๋ชจ 3๊ฐ์ ๋๊ทธ๋ผ๋ฏธ 2๊ฐ๊ฐ ์๋ค๋ฉด, ์ด ๋ ธ๋๋ ๋ค๋ชจ์ ํด๋์ค๋ฅผ ๊ฐ์ง๋ค.
์์ ๊ฒฐ์ ํธ๋ฆฌ ์์๋ฅผ ๋ณด์. ํธ๋ฆฌ๋ฅผ ํตํด ์์ ์ง๊ต ํํฐ์ ๋์ ํ๋ ํ๋ฅผ ๋ณผ ์ ์๋ค. ๋ณ์์ ๊ฐ์์ ๋ฐ๋ฅธ ์ฐจ์์์, ๋ณ์ ์ถ์ ์ง๊ตํ๋ ์ ์ ๊ทธ์ด ๊ณต๊ฐ์ ๋ถ๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก ๋ถ๋ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์๋ ๋ง์ง๋ง ์์ ๋ ธ๋๊ฐ label์์ ๋ณผ ์ ์๋ค.
4) Decision Rule of DT
์ด์ ๊ฒฐ์ ํธ๋ฆฌ๋ฅผ ๋ง๋ค์ด๋ณด์.
๊ฒฐ์ ํธ๋ฆฌ๋ฅผ ๋ง๋ค๊ธฐ ์ํด์ ์ฐ๋ฆฌ๋ ๋๊ฐ์ง๋ง ์๋ฉด ๋๋ค.
- ์ด๋ค ๋ณ์๋ฅผ ๊ฐ์ง๊ณ ๋ถ๊ธฐํ ์ง
- ๊ทธ ๋ณ์์ ์ด๋ค ๋ณ์ ๊ฐ์์ ๋ถ๊ธฐํ ์ง
์ฌ๋์ด ์์๋ก ๋ชจ๋ธ์ ์ ์ฉํ๋ฉด ๋๋ค! ๊ทธ๋ ๋ค๋ฉด ๊ทธ ๊ธฐ์ค์ ์ด๋ป๊ฒ ์ ํด์ผ ํ ๊น?
๋ฐ๋ก Impurity drop, ์ฆ ๋ถ์๋๋ฅผ ๋จ์ดํธ๋ ค ๋ณธ๋ค. ๋ถ์๋๋ ํด๋น ๋
ธ๋์ ์ผ๋ง๋ ๋ฐ์ดํฐ๋ค์ด ์์ฌ์๋๊ฐ๋ฅผ ์๋ฏธํ๋ค.
5) Impurity Measurements
๋ถ์๋๋ฅผ ์ธก์ ํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ์์ 4๊ฐ์ง ๋ฐฉ์์ด ์์ผ๋ฉฐ, ๊ทธ ์ค Entropy์ Gini index๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค. ์์ j๋ ํด๋์ค๋ณ ์ธ๋ฑ์ค๋ฅผ ์๋ฏธํ๋ค.
์๋ 3๊ฐ์ง ๋ ธ๋์ ์ํ๋ ๋ฐ์ดํฐ๋ค์ ํด๋์ค๋ฅผ ์๋ฏธํ๋ค. ์ฒซ๋ฒ์งธ ๊ฒฝ์ฐ๋ w1์ ํ๋ฅ ์ด 1, w2์ ํ๋ฅ ์ด 0์ผ๋ก pureํ ์ํ์ด๋ค. ์ธ๋ฒ์งธ ๊ฒฝ์ฐ๋ w1์ ํ๋ฅ ์ด 1/2, w2์ ํ๋ฅ ์ด 1/2์ผ๋ก ๊ฐ์ฅ Impurity๊ฐ ๋์ ์ํ์ด๋ค.
Entropy์ Gini Index๋ฅผ ๊ณ์ฐํด๋ณด๋ฉด, ๋ ๋ค pureํ ์๋ก 0์ ๊ฐ๊น์ฐ๋ฉฐ ๋ถ์๋๊ฐ ๋์์ง์๋ก Entropy๋ 1์, Gini Index๋ 0.5์ ๊ฐ๊น์ด ๊ฒ์ ๋ณผ ์ ์๋ค. ์๋ ํ๋ฅผ ํตํด์๋ ๋ถ์๋๊ฐ ๋์์ง์๋ก ๋์ ๊ฐ์ ๊ฐ์ง๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
Entropy๋ฅผ ํ ๋๋ก Impurity drop์ ์งํํด๋ณด์. ์ฐ๋ฆฌ๋ ๋ถ๊ธฐ๊ฐ ์งํ๋ ์๋ก ๋ถ์๋๊ฐ ๊ฐ์ํ๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ค. ๋ฐ๋ผ์ ๋ถ๊ธฐ๋ฅผ ํ๊ณ ๊ฐ๊ฐ์ ์์๋ ธ๋์ ๋ํ ๋ถ์๋๋ฅผ ์ธก์ ํ์ฌ ๋ถ๋ชจ๋ ธ๋์์ ์ฐจ์ด๋ฅผ ๊ตฌํ๋ ๋ฐฉ์์ผ๋ก ๋ถ๊ธฐ๊ฐ ์ ์ ํ์ง ์์๋ณผ ์ ์๋ค. ์ด๋ ์ฐจ์ด๊ฐ์ Information gain๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, Information gain์ด ํด ์๋ก ๋ง์ด ๋ถ์๋๊ฐ ๊ฐ์ํ์์์ ์๋ฏธํ๋ฏ๋ก ํฐ ๊ฐ์ ๊ฐ์ง ๋ถ๊ธฐ๋ฅผ ์ ํํ๋ค. ๋ ์์ ๋ถ์๋์ ํฉ์ด ๋ถ๋ชจ์ ๋ถ์๋๋ณด๋ค ํด ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๊ฐ์ ์์ ๋ถ์๋์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ๋ค.
2. Characteristics of Decision Tree
2. Decision Tree (DT)
1) Full Tree (Full Grown Tree)
์ด์ ์๊ฐ์ ๋ณด์๋ฏ์ด ๋ณต์ก๋๊ฐ ์ฌ๋ผ๊ฐ๋ฉด Overfit์ ํ๋ฅ ์ด ๋์์ง๊ณ , ๋ด๋ ค๊ฐ๋ฉด Underfit์ด ๋ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฒฐ์ ํธ๋ฆฌ๋ ๋ณต์ก๋๋ฅผ ์กฐ์ ํ ์ ์๋ ํน์ง์ด ์๋ค. ๋ฐ์ดํฐ๊ฐ ๊ฒน์ณ์์ง ์๋ค๊ณ ๊ฐ์ ํ ๋, ํ์ต ๋ฐ์ดํฐ์ ์ ํ๋๋ฅผ ์กฐ์ ํ ์ ์๋ค. ๋ ์ด์ ๋ถ์๋๋ฅผ drop ํ ์ ์์ ๋ ๊น์ง ๋๊น์ง ๋ถ๊ธฐํด ๋ชจ๋ ๋ ธ๋์ ๋ถ์๋๊ฐ 0์ธ ์ํ๋ฅผ ํ ํธ๋ฆฌ(Full Tree)๋ผ๊ณ ํ๋ฉฐ, ์ด๋ OverFit์ด ๋ฐ์ํ๋ค. ๋ฐ๋๋ก Max Depth๋ฅผ ์ค์ ํด ๋ถ๊ธฐ๋ฅผ ์ ํํ๋ฉด ๊ฐ์ ๋ก UnderFitํ๊ฒ ๋ง๋ค ์ ์๋ค. 1๋ฒ์ ๋ถ๊ธฐ๋ง ์ด๋ฃจ์ด์ง ๊ฒฐ์ ํธ๋ฆฌ๋ ์คํ ํ ํธ๋ฆฌ(Stump Tree) ๋ผ๊ณ ํ๋ค.
2) Greedy Method
ํ์ฌ ์์ ์์ ์ต์ ์ ์ ํ์ ํ๋ ๊ฒ์ ๊ทธ๋ฆฌ๋ ๋ผ๊ณ ํ๋ค. ๊ฐ๋จํ๊ณ ์ฝ์ง๋ง, ๋์์ ์ง์ญ ์ต์ ํ(local optimal)์ด๋ฉด์ ์ ์ฒด์์ ์ต์ (global optimal)์ด ์๋ ์ ์๋ค๋ ๋จ์ ์ด ์๋ค. ์๋ ๊ทธ๋ฆผ์์๋ ์ฒซ๋ฒ์งธ ์ด๋ฏธ์ง์ ์ฒซ๋ฒ์งธ ๋ถ๊ธฐ์์๋ ์ต์ ํ ๋ ๊ฐ์ ๋ฐ๋์ง๋ง, ๋๋ฒ์งธ ๊ทธ๋ฆผ์ ํตํด ๊ฒฐ๊ตญ ์ง์ญ ์ต์ ํ์๋ค๋ ์ ์ ์ ์ ์๋ค.
3) Gini Index ์ Entropy
๋ ๊ฐ์ง ๋ฐฉ์์ ๋ถ์๋๋ ๋น์ทํ ๊ฒฝํฅ์ ๊ฐ์ง๋ค. ํ์ง๋ง ์๋ ์์์ ๊ฐ์ด ํญ์ ๊ฐ์ ๊ฒฝํฅ์ ๋ณด์ด์ง ์์ ์ ์๋ค.
4) When to Stop?
OverFitting๊ณผ UnderFitting์ ์ด๋ป๊ฒ ์กฐ์ ํ ๊น?
์ฒซ๋ฒ์งธ๋ก๋ Data partitioning์ด๋ค. leaves์ ์๊ฐ ๋ง์์ง ์๋ก Complextity๋ ์ปค์ง๋ฏ๋ก, ์ด์ ์ ๋ณด์๋ Complexity์ Error ๊ทธ๋ํ์ ์์ ๊ทธ๋ํ๋ ๊ฐ์ ๊ทธ๋ํ์ด๋ค. ์์์ ๊ฐ์ฅ ์ ์ ํ๋ค๊ณ ํ๋จ๋ ์ ์ ๊ธฐ์ค์ผ๋ก ๊ทธ ์๋๋ UnderFit, ์๋ OverFitํ ๋ชจ๋ธ์ด ๋๋ฏ๋ก, ํด๋น ์ง์ ์ ์ฐพ๋๋ค.
๋๋ฒ์งธ๋ก๋ Max depth, Max leaf nodes, Min data for split์ ์ธ๋ถ ์ค์ ์ผ๋ก Overfitting์ ๋ฐฉ์งํ ์ ์๋ค. Parameter๋ ๋ชจ๋ธ ๋ด๋ถ์์ Model์ ์กฐ์ ํ๋ค. ๋ฐ๋ฉด์ ๋ชจ๋ธ ์ธ๋ถ์์ Parameter์ ์ํฅ์ ์ฃผ๋ ๊ฒ์ Hyper Parameter๋ผ๊ณ ํ๋ค. ์ฆ ์ฐ๋ฆฌ๊ฐ ์ค์ ํ ์ ์๋ ๊ฐ์ด๋ค. Ridge Linear Regression์ ์์๋ก ๋ณด๋ฉด, Parameter์๋ ๊ฒฐ์ ์์ ๊ณ์์ธ β๊ฐ ์์ผ๋ฉฐ, Hyper Parameter์๋ α์ ๊ฐ์ Control parameter๊ฐ ์๋ค.
Decision Tree์์๋ ๋ถ๊ธฐ์ ๊ฐฏ์, Depth๊ฐ ์ปค์ง ์๋ก OverFit์ ๊ฐ๊น์์ง๊ณ ์์์ง ์๋ก UnderFit์ ๊ฐ๊น์์ง๋ค. leaf nodes์ ์๋ Complexity์ ์ํฅ์ ์ฃผ๊ณ ๊ฒฐ๊ตญ leaves์ ์๊ฐ ๋ง์์ง๋ฉด OverFit, ์ ์ด์ง๋ฉด UnderFit์ ๊ฐ๊น์์ง๋ค. ์ฐธ๊ณ ๋ก leaf nodes์ ์๋ ๋ชจ๋ธ์ ์ค๋ช ๋ ฅ์ ๋ํ๋ด๋ Rule์ ์๋ฅผ ์๋ฏธํ๋ค. ๋ง์ง๋ง์ผ๋ก data for split, ์ฆ ๋ ธ๋์์ data์ ๊ฐ์๋ฅผ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด ๋ ธ๋ ์์ ๋ฐ์ดํฐ๊ฐ 5๊ฐ ์ดํ๋ฉด splitํ์ง ์๋๋ค. ๊ฒฐ๊ตญ ์ด ์ธ ๊ฐ์ง์ ์ ์ฝ์ด ํ๊ณ ์ ํ๋ ๊ฒ์ "๋๋ฌด ๋ง์ด ๋ถ๊ธฐํ์ง ๋ง๋ผ" ์ธ ๊ฒ์ด๋ค. ์ด ์ธ๊ฐ์ง๋ฅผ ํ๋๋ง ์ธ ์ ๋ ์๊ณ , ์ฌ๋ฌ ๊ฐ๋ฅผ ๋์์ ์ฌ์ฉํ ์๋ ์๋ค.
์ธ๋ฒ์งธ๋ก๋ ์ ๋ง ์ค์ํ Regularization์ด๋ค. tree์ size๋ฅผ ํตํ Complexity, ๋ชจ๋ ๋ ธ๋๋ค์ ๋ถ์๋์ ํฉ์ ํตํ error๋ฅผ ์๋ฏธํ๋ค. ๋ฐ๋ผ์ ์๋์์ Cost๋ก ํ์ฌ ์ต์ํ ํ๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ํ๋ค.
5) Pruning
์ฌ์ค ๊ฑฐ์ ๋ชจ๋ Decision Tree์ ํจํค์ง์๋ Pruning(๊ฐ์ง์น๊ธฐ) ๊ธฐ๋ฅ์ด default๋ก ๋ด์ฅ๋์ด ์์ด ์ ๋นํ ํธ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋ค. Pruning๋ Full Tree๋ฅผ ๋ง๋ค๊ณ ๋์, ์๋ฏธ์๋ ๊ฐ์ง๋ค์ ์๋ผ๋ธ๋ค. validation data๊ฐ ํ์ํ์ง ์์ง๋ง ๊ณ์ฐ๋์ ๋์ด๋๋ ํน์ง์ด ์๋ค.
Pruning Algorithm
์๊ณ ๋ฆฌ์ฆ์ ๋ณด๊ธฐ ์ ์ ์๋ฏธ์๋ ๋ ธ๋๋ ๋ฌด์์ผ๊น? ์ผ๋จ ์ฐ๋ฆฌ๋ ๊ณ์ํด์ ํธ๋ฆฌ์ Cost๋ฅผ ํ๋จํ ๊ฒ์ด๋ค. ๋ฐ๋ก ์๋์ ๊ฐ์ด! ์์ ๋ณด๋ฉด ๊ต์ฅํ ์ต์ํ๋ฐ ์ด๋ ๋ฐ๋ก ์์์ ๋ณธ Regularization์ด๋ค. ๊ฐ์ง์น๊ธฐ ์ดํ์๋ Cost๊ฐ ์ฆ๊ฐํ์ง ์์ผ๋ฉด, ๊ฐ์ง์น๊ธฐ๋ฅผ ๋นํ ๋ ธ๋๋ค์ ์๋ฏธ๊ฐ ์๋ ๋ ธ๋๊ฐ ๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ Cost Complexity Prunning์ด๋ผ๊ณ ํ๋ค.
์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค.
- Full Tree๋ฅผ ๋ง๋ ๋ค
- Pruning
2-1. Sub Tree๋ฅผ ์ฐพ๋๋ค
2-2. Cost(Full Tree)์ Cost(Sub Tree)๋ฅผ ๊ณ์ฐํ๋ค
2-3. ๋ง์ฝ Cost(Full Tree) > Cost(Sub Tree)์ด๋ฉด Sub Tree๋ฅผ ์ ํํ๋ค
2-4. ๋ค์ 2๋ฒ์ ์ฌ๊ท์ ์ผ๋ก ๋ฐ๋ณตํ๋ค
6) Robust to Nominal Variables, Outliers, Missing Values
Decision Tree์ ํน์ง ์ค ํ๋๋ ์์ ์ธ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์ด๋ ํ์ฉํ ์ ์๋ค๋ ์ ์ด๋ค. ๋๋ถ๋ถ์ ๋ชจ๋ธ์์๋ Nominal Variables๊ฐ ์์ผ๋ฉด One Hot Encoding์ ํด์ฃผ๊ฑฐ๋, Outliers๊ฐ ์์ผ๋ฉด sensitive ํด์ง๊ฑฐ๋, Missing Values๊ฐ ์์ผ๋ฉด ์๋ํ์ง ์์ผ๋ฏ๋ก ๋ฐ๋์ ์ฑ์๋ฃ์ด ์ค์ผ ํ๋ค. ํ์ง๋ง Decision Tree์ ์ํฉ์ ๋ณด์.
Nominal Variables์ ๊ทธ๋ฅ ๋๋ฆฌ๋ฉด ๋๋ค. ์คํ๋ ค ์ด์ ์๋ Nominalํ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ค. Outliers๋ ๋ ๋ค์๊ฒฐ๋ก ํ๋จํ๋ฏ๋ก class Rule์ ํฌ๊ฒ ์ํฅ์ ์ฃผ์ง ์๋๋ค. k-NN์ ๊ฒฝ์ฐ์๋ ์๋ก์ด ์์ญ์ ๋ง๋ค ์ ๋ ์๋ค๋ ์ ์ ์๊ฐํด๋ณด์. Missing Values๊ฐ ์์ผ๋ฉด ๊ทธ๋ฅ ์๋ data๋ ๋นผ๊ณ ๋ถ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ค. (๋ง์ Missing์ ๋น์ฐํ ์ค์ฐจ๊ฐ ํด ์ ๋ฐ์ ์๋ค)
7) Variable selection
Decision Tree์ ํน์ง ์ค ๋ง์ง๋ง์ ๋ณ์ ์ ํ์ด๋ค. ์๋์ ํ์ ๊ทธ๋ํ๋ฅผ ๋ณด์. ์์ฌ ๊ฒฐ์ ์์ฑ๊ณผ์ ์ ํตํด์ ๋ง์ ๋ณ์์ค์์ ์ด๋ค ๋ ๋ฆฝ๋ณ์๊ฐ ์๋์ ์ผ๋ก ์ข ์๋ณ์์ ์ํฅ์ ๋ ์ฃผ๋์ง, ์ํฅ์ ๋ ์ฃผ๋์ง ํ์ ํ ์ ์๋ค. ๊ณ ํ์์ ๋ํ Decision Tree๋ฅผ ๋ง๋๋ ๊ณผ์ ์์ Age์ Heart Rate๋ฅผ ๊ฐ์ฅ ์ค์ํ ๋ณ์๋ก ์ ํ๋์๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ด ๋ ๋ณ์๊ฐ ๊ณ ํ์์ ์ํฅ์ ๋ง์ด ์ฃผ๋ ์์๋ผ๊ณ ํ๋จํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ ํ๋ ๋ณ์๋ค์ ํตํด ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์๋ก์ด ์์ธก ๋ชจ๋ธ์ ์์ฑํ ์๋ ์๋ค!
2. Nonlinear Regression
๊ทธ๋ฌ๋ฉด ์ถ์ ์ง๊ต๋ก ํํฐ์
๋ ํ์ง ์์ผ๋ฉด ์ค์ฐจ๋ฅผ ๋ ์ค์ผ ์ ์์ง ์์๊น?
์ง๊ต์ ํํฐ์
๋์ ํตํด ์ฐ๋ฆฌ๋ ๊ฐ๋ ฅํ ์ค๋ช
๋ ฅ์ ๋ณด์ฅํ ์ ์์๋ค. ํ์ง๋ง NonLinearํ๊ฒ ๋๋๋ค๋ฉด ์ฑ๋ฅ์ ์ข์์ง ์ ์์ง๋ง ์ค๋ช
๋ ฅ์ ์์ด๋ฒ๋ฆฐ๋ค. Decision Tree์ ํต์ฌ์ ์ค๋ช
๋ ฅ์ด๋ฉฐ, ์ค๋ช
์ด ํ์ํ์ง ์๋ค๋ฉด ๊ฒฐ์ ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์๋ฏธ๊ฐ ์๋ค. ์ฑ๋ฅ์ด ์ค์ํ๋ฉด ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์. ํ์ง๋ง ์ ์ํด์ผ ํ๋ ๋ถ๋ถ๋ ์๋๋ฐ, ๋ฐ๋ก ๋ชจ๋ Rule๋ค์ด x์ y์ ์ธ๊ณผ๊ด๊ณ๋ฅผ ์ ํํ ๋ฐ์ํ๊ณ ์๋ค๋ ํ์ ์ ๊ฐ์ ธ์๋ ์๋๋ค. ๊ฒฐ๊ณผ๋ก ์ ์ธ Rule๋ค์ด ์์ฑ๋์์ ์๋ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ธ์ ๋ ์กฐ์ฌํ๊ณ ์์ฌํ๊ณ ํ์ธํด๋ณด์.
1) Decision Tree Regression
NonLinear ํํฐ์ ๋์ ์ด๋ ต์ง๋ง, NonLinear Regression์ ๋น์ฐํ ๊ฐ๋ฅํ๋ค. Classification์ ๋ถ๊ธฐ ๊ท์น์ Impurity์์ง๋ง, Regression์ error์ ์ ๊ณฑ์ ํฉ๊ณผ ๋ถ์ฐ์ผ๋ก ๋ถ๊ธฐ ๊ท์น์ ๊ฐ์ง๋ค. ์ฌ์ค์ ๋ถ์๋์ ๋ถ์ฐ์ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ ๋ฐ, ๋ถ์ฐ์ด ๋๋ค๋ ๊ฒ์ ์ฌ๋ฌ ๊ฐ์ด ๋ถํฌํด์์ผ๋ฏ๋ก ๊ฒฐ๊ตญ ๋ถ์๋๋ ๋๋ค. ๋ถ์ฐ์ด ํฌ๋ฉด ๋ถ๊ธฐ๊ฐ ๋๋ฏ๋ก, ๊ฒฐ๊ตญ ๋น์ทํ y๊ฐ๋ผ๋ฆฌ node๋ฅผ ํ์ฑํ ๊ฒ์ด๋ค.
2) Decision Tree Algorithms
์ฃผ๋ก CART(Classsification And Regression Tree)๊ธฐ๋ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค. ํ์ง๋ง ๋ค์ํ tree ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์ ์๋ค. ์ค์ ์ ํตํด์ ๋ด๋ถ์ ์ธ Split criteria๋ ๋ฐ๊ฟ ์ ์๋ค.
3. Summary
Classification algorithm based on IF-THEN rule
• Easy to use, understand
• Produce rules that are easy to interpret & implement (white-box model, ์์ธ์ ์์ ์ฌํ๋์์ด ๊ฐ๋ฅ)
• Variable selection & reduction is automatic
• Do not require the assumptions of statistical models
• Can work without extensive handling of missing data (can learn data with N/A)
• Pruning
Cons
• Greedy + Axis-orthogonal = Low accuracy