๐ŸณDev/Machine Learning

[๊ธฐ๊ณ„ํ•™์Šต] 7. Decision Tree

fortune.00 2021. 12. 22. 14:59

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์€ ํ•จ๊ป˜ ๋‹ค๋‹ˆ๋Š” ํŠน์ง•์ด๋‹ค! ํ•œ๋ฒˆ ์ƒ๊ฐํ•ด๋ณด์ž)

  1. Recursive partitioning : ์žฌ๊ท€์ ์ธ ๋ถ„ํ• 
  2. Explicit rule extraction : ๊ทœ์น™์ด ๋ช…ํ™•ํ•˜๋‹ค
  3. Interpretability : ๋ชจ๋ธ ํ•ด์„์— ์„ค๋ช…๋ ฅ์ด ์žˆ๋‹ค
  4. Axis-orthogonal partitioning : ์ง๊ต์˜ ํŒŒํ‹ฐ์…”๋‹, ๋•๋ถ„์— ์œ„์•„๋ž˜์˜ ์—ฌ๋Ÿฌ ํŠน์ง•์ด ๋‚˜ํƒ€๋‚จ
  5. Greedy method : ๊ฐ๊ฐ์˜ ์‹œ์ ์—์„œ ์ตœ์ ์˜ ์„ ํƒ์„ ํ•œ๋‹ค
  6. Robust to nominal, variables outliers, missing values : ์„ธ๊ฐ€์ง€์— ์˜ํ–ฅ์„ ์ ๊ฒŒ ๋ฐ›๋Š”๋‹ค
  7. Variable selection : ๋ณ€์ˆ˜ ์„ ํƒ์ด ๊ฐ€๋Šฅ

3) Terminologies of DT

๋ถ„๊ธฐ๋ฅผ ํ•˜๋Š” root๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  node๋“ค์€ ๋ณ€์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ์™ธ๋กœ leaf node๋“ค์€ class label๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฐธ๊ณ ๋กœ ๋ชจ๋“  ๋…ธ๋“œ๋“ค์€ ๋…ธ๋“œ์•ˆ์˜ ๋ถ„ํฌ์— ๋”ฐ๋ผ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋กœ ๊ฒฐ์ •๋œ๋‹ค. ๋…ธ๋“œ ์•ˆ์— ๋„ค๋ชจ 3๊ฐœ์™€ ๋™๊ทธ๋ผ๋ฏธ 2๊ฐœ๊ฐ€ ์žˆ๋‹ค๋ฉด, ์ด ๋…ธ๋“œ๋Š” ๋„ค๋ชจ์˜ ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ง„๋‹ค.

์œ„์˜ ๊ฒฐ์ •ํŠธ๋ฆฌ ์˜ˆ์‹œ๋ฅผ ๋ณด์ž. ํŠธ๋ฆฌ๋ฅผ ํ†ตํ•ด ์˜†์˜ ์ง๊ต ํŒŒํ‹ฐ์…”๋‹์„ ํ•˜๋Š” ํ‘œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ฅธ ์ฐจ์›์—์„œ, ๋ณ€์ˆ˜ ์ถ•์— ์ง๊ตํ•˜๋Š” ์„ ์„ ๊ทธ์–ด ๊ณต๊ฐ„์„ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ถ„๋ฅ˜ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์„œ๋„ ๋งˆ์ง€๋ง‰ ์ž์‹ ๋…ธ๋“œ๊ฐ€ label์ž„์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

4) Decision Rule of DT

์ด์ œ ๊ฒฐ์ •ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž.
๊ฒฐ์ •ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ์šฐ๋ฆฌ๋Š” ๋‘๊ฐ€์ง€๋งŒ ์•Œ๋ฉด ๋œ๋‹ค.

  1. ์–ด๋–ค ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ๋ถ„๊ธฐํ• ์ง€
  2. ๊ทธ ๋ณ€์ˆ˜์˜ ์–ด๋–ค ๋ณ€์ˆ˜ ๊ฐ’์—์„œ ๋ถ„๊ธฐํ• ์ง€

์‚ฌ๋žŒ์ด ์ž„์˜๋กœ ๋ชจ๋ธ์— ์ ์šฉํ•˜๋ฉด ๋œ๋‹ค! ๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ ๊ธฐ์ค€์€ ์–ด๋–ป๊ฒŒ ์ •ํ•ด์•ผ ํ• ๊นŒ?
๋ฐ”๋กœ 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์ด๋ผ๊ณ  ํ•œ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. Full Tree๋ฅผ ๋งŒ๋“ ๋‹ค
  2. 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