๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
HYU/๋ฐ์ดํ„ฐ์‚ฌ์ด์–ธ์Šค

9. Decision Tree

by Jaeguk 2024. 4. 13.

What is Decesion Tree?


Decision Tree๋Š” ํŠน์ • ์กฐ๊ฑด์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๊ฒฐ์ •์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์‹œ๊ฐ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ๊ทธ๋ž˜ํ”ฝ ํ‘œํ˜„์ด๋‹ค

  • ์ค‘๊ฐ„ ๋…ธ๋“œ๋Š” ์—ฌ๋Ÿฌ Alternatives ์ค‘์— ์–ด๋– ํ•œ ์„ ํƒ์„ ์˜๋ฏธํ•œ๋‹ค
  • ๋ฆฌํ”„ ๋…ธ๋“œ๋Š” ์ตœ์ข… Decision์„ ์˜๋ฏธํ•œ๋‹ค
  • ๊ทธ๋ฆผ์—์„œ ๋‚˜์ด๊ฐ€ 30์„ธ ์ดํ•˜์ด๊ณ , ํ•™์ƒ์ด ์•„๋‹ˆ๋ฉด ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ์˜ˆ์ธก

 

Algorithm Overview


Decision Tree ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋Œ€๋žต์ ์ธ ๊ณผ์ •

  • ๋ถ„ํ• ์ •๋ณต์„ ์‚ฌ์šฉํ•ด์„œ Top-down ๋ฐฉ์‹์œผ๋กœ ํŠธ๋ฆฌ๋ฅผ ํ˜•์„ฑํ•œ๋‹ค
  • ์ฒ˜์Œ์—๋Š” ๋ชจ๋“  Training data๋Š” Root๋กœ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค
  • ๋ฐ์ดํ„ฐ๋“ค์€ ํ˜„์žฌ ๋‹จ๊ณ„์—์„œ ์„ ํƒ๋œ Feature๋ฅผ ๊ธฐ์ค€์œผ๋กœ Recursiveํ•˜๊ฒŒ ๋‚˜๋‰œ๋‹ค
  • ์ด๋•Œ ํ˜„์žฌ ๋‹จ๊ณ„์—์„œ ์–ด๋–ค Feature๋ฅผ ์„ ํƒํ• ์ง€๋Š”, Heuristic(๊ฐ„ํŽธ ์ถ”๋ก ) ํ•˜๊ฑฐ๋‚˜ Statistical(ํ†ต๊ณ„์ )ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฒฐ์ •ํ•œ๋‹ค
    • Ex) Information Gain

 

Partitioning์„ ๋ฉˆ์ถ”๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด?

  • Recursiveํ•˜๊ฒŒ ๋‚ด๋ ค ๊ฐ€๋‹ค๊ฐ€ ํ˜„์žฌ ๋…ธ๋“œ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์˜ Class๊ฐ€ ๋ชจ๋‘ ๊ฐ™์œผ๋ฉด ์ค‘๋‹จ
    • ๋” ์ด์ƒ ๋ถ„๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์Œ
  • ๋” ์ด์ƒ ๋‚จ์€ Feature๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์ข…๋ฃŒ

 

Decision Tree Introduction


Decision Tree์˜ ๊ธฐ๋ณธ์ ์ธ ์•„์ด๋””์–ด๋Š” Greedy, Recursive, Divide and Conquer

  1. ์ตœ์ดˆ์˜ ํŠธ๋ฆฌ๋Š” ๋น„์–ด์žˆ๋‹ค
  2. ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ค€(Feature)์„ ์„ ํƒํ•œ๋‹ค
  3. ๋” ์ด์ƒ ๋ถ„๋ฅ˜ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋ฉด ์ข…๋ฃŒ
  4. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด 2๋ฒˆ ๋‹จ๊ณ„๋กœ ๋Œ์•„๊ฐ€์„œ Recursiveํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•œ๋‹ค

 

  • ๊ฐ€์žฅ ์ด์ƒ์ ์ธ ์ผ€์ด์Šค
  • ๊ทธ๋Ÿฐ๋ฐ ๋ณดํ†ต ์ด๋ ‡์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, Recursiveํ•˜๊ฒŒ ๊ณ„์† ๋“ค์–ด๊ฐ€์•ผ ํ•œ๋‹ค

 

๊ฐ ๋‹จ๊ณ„์—์„œ ์–ด๋–ค Feature๋ฅผ ์„ ํƒํ• ์ง€ ์–ด๋–ป๊ฒŒ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์„๊นŒ?

  • Algorithm
    • ID3: Entrophy
    • C4.5: Gain Ratio
    • CART: Gini index
  • Common Idea
    • ๊ฐ๊ฐ์˜ Feature์— ๋Œ€ํ•ด์„œ ํ•ด๋‹น Feature๋กœ ๋ถ„๋ฆฌํ•˜๊ฒŒ ๋˜๋ฉด, ์–ผ๋งˆ๋‚˜ Heterogeneousํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š”์ง€ ํ‰๊ฐ€ํ•œ๋‹ค
      • Heterogeneousํ•˜์ง€ ์•Š๊ณ , Homogeneousํ•œ ๊ฒƒ์ด ์ข‹๋‹ค
      • ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์„œ๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๋ฐ์ดํ„ฐ๋“ค์ด ์„ž์—ฌ์žˆ๋Š”์ง€๋ฅผ ํ‰๊ฐ€ํ•œ๋‹ค
      • ๋ถ„๋ฆฌ๋ฅผ ํ–ˆ๋Š”๋ฐ ์„œ๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์ด ์„ž์—ฌ์žˆ์œผ๋ฉด ํ•ด๋‹น ๋‹จ๊ณ„์—์„œ ์„ ํƒํ•˜๊ธฐ์— ๋ณ„๋กœ ์•ˆ ์ข‹์€ Feature
  • Feature Types
    • Feature๋“ค์€ Categoricalํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ€์ • ํ•œ๋‹ค
      • ๋งŒ์•ฝ ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ฌด์ˆ˜ํžˆ ๋งŽ์€ Branch๋“ค์ด ๋ป—์–ด๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค
    • ๋งŒ์•ฝ Categorical ํ•˜์ง€ ์•Š๊ณ , Continuous ํ•˜๋‹ค๋ฉด ๋ฏธ๋ฆฌ Discretization์ด ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค

 

Feature Selection


์–ด๋–ค Feature๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒŒ ๊ฐ€์žฅ ์ข‹์„๊นŒ?

  • ํ•ด๋‹น Feature๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ–ˆ์„ ๋•Œ, ๊ฐ€์žฅ Homogeneousํ•˜๊ฒŒ ๋ถ„๋ฅ˜๋˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹๋‹ค
    • ๊ฐ™์€ ๋ง๋กœ ๊ฐ€์žฅ ๋œ Heterogeneousํ•˜๊ฒŒ ๋ถ„๋ฆฌ๋˜์–ด์•ผ ํ•œ๋‹ค

  • ์˜ˆ์‹œ์—์„œ Age๋กœ ๋ถ„๋ฅ˜ํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ Homogeneousํ•˜๊ฒŒ ๋ถ„๋ฅ˜๋œ ๊ฒƒ์ด๋‹ค
  • ํ•ด๋‹น ๋‹จ๊ณ„์—์„œ๋Š” Age๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒŒ ๋ฒ ์ŠคํŠธ!

 

ID3


Iterative Dichotomiser 3

  • ID3 ๋ฐฉ์‹์€ Entropy(์—”ํŠธ๋กœํ”ผ) ์— ๊ธฐ๋ฐ˜ํ•œ Information Gain์ด ์‚ฌ์šฉ ๋œ๋‹ค
    • Entropy?
    • ์—”ํŠธ๋กœํ”ผ๋Š” ํ™•๋ฅ  ๋ถ„ํฌ ๋‚ด์— ์žˆ๋Š” ์ •๋ณด์˜ ์–‘์„ ์ˆ˜์น˜์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ
    • ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ๋ฌด์งˆ์„œ๋„ ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค
    • ๊ทธ๋ฃน ๋‚ด์— ์–ผ๋งˆ๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌด์งˆ์„œํ•˜๊ฒŒ ์„ž์—ฌ์žˆ๋Š”์ง€

 

  • ์—”ํŠธ๋กœํ”ผ ๊ฐ’์€ ์œ„์˜ ์‹์„ ํ†ตํ•ด์„œ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค

 

  • Entropy ๊ฐ’์ด ๋†’์„์ˆ˜๋ก, ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ๊ฐ€ ๋” Heterogeneousํ•˜๋‹ค ๋Š” ๊ฒƒ
  • Entropy ๊ฐ’์ด ๋‚ฎ๋‹ค๋Š” ๊ฒƒ์€, Pi ๊ฐ’์ด ๋งค์šฐ ๋†’๊ฑฐ๋‚˜ ๋‚ฎ๊ฑฐ๋‚˜ ๋‘˜ ์ค‘ ํ•˜๋‚˜์ธ ๊ฒฝ์šฐ์ด๋‹ค
    • Pi๊ฐ’์ด 1์— ๊ฐ€๊นŒ์šฐ๋ฉด, ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ๊ฐ€ i์— ์†ํ•œ๋‹ค๋Š” ๋œป์ด๋ฏ€๋กœ ์—”ํŠธ๋กœํ”ผ๊ฐ€ ๋‚ฎ์„ ๊ฒƒ์ด๋‹ค
    • Pi๊ฐ’์ด 0์— ๊ฐ€๊นŒ์šฐ๋ฉด, ํ•ด๋‹น Class์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋Š” ๊ฑฐ์˜ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜๋ฏธ์ด๋ฏ€๋กœ ์—”ํŠธ๋กœํ”ผ๋ฅผ ๋‚ฎ์ถ”๋Š”๋ฐ ๊ธฐ์—ฌํ•œ๋‹ค
      • ๋งŒ์•ฝ 2๊ฐœ์˜ ํด๋ž˜์Šค๋งŒ ์กด์žฌํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž, ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์— ๋Œ€ํ•ด์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚˜๋จธ์ง€ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์— ์†ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋ฏ€๋กœ ์—”ํŠธ๋กœํ”ผ๊ฐ€ ๋‚ฎ์„ ๊ฒƒ์ด๋‹ค

 

  • Information Gain์€ ๋ถ„๋ฆฌํ•˜๊ธฐ ์ด์ „๊ณผ ์ดํ›„์˜ Entropy์˜ ์ฐจ์ด๋ฅผ ์˜๋ฏธํ•œ๋‹ค
  • ํŠน์ • Attribute A์— ๋Œ€ํ•ด ๋ถ„๋ฅ˜๋ฅผ ํ–ˆ์„ ๋•Œ, ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์ „๊ณผ ํ›„์˜ Gain์˜ ์ฐจ์ด๊ฐ€ ํด์ˆ˜๋ก ํ•ด๋‹น Feature๋Š” ์ข‹์€ Feature ์ด๋‹ค
  • ๋ณดํ†ต์€ ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์ „์˜ Gain๊ฐ’์ด ๋” ํดํ…๋ฐ, ์ „๊ณผ ํ›„์˜ ์ฐจ์ด๊ฐ€ ํฌ๋‹ค๋Š” ๊ฒƒ์€ ๋ถ„๋ฅ˜ ์ดํ›„์˜ Gain๊ฐ’์ด ๋งŽ์ด ๊ฐ์†Œํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค

 

  • ๋ถ„๋ฆฌ ์ดํ›„์—๋„ ์—ฌ์ „ํžˆ ์—”ํŠธ๋กœํ”ผ๊ฐ€ ๋†’๋‹ค๋ฉด, Info Gain ๊ฐ’์€ ์ž‘์•„์งˆ ๊ฒƒ์ด๋‹ค

 

์˜ˆ์‹œ

  • ๋ชจ๋“  ์„ ํƒ๊ฐ€๋Šฅํ•œ Feature์— ๋Œ€ํ•ด์„œ Gain ๊ฐ’์„ ๊ตฌํ•œ๋‹ค
  • ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์ด์ „์˜ Gain๊ฐ’๊ณผ์˜ ์ฐจ๊ฐ€ ๊ฐ€์žฅ ํฌ๊ฒŒ ๋ฒŒ์–ด์ง€๋Š” Feature๋ฅผ ์„ ํƒ ํ•œ๋‹ค
  • ์˜ˆ์‹œ์—์„œ๋Š” Credit์„ ์„ ํƒํ–ˆ์„ ๋•Œ, Gain์˜ ์ฐจ๊ฐ€ ๊ฐ€์žฅ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋‹จ๊ณ„์—์„œ๋Š” Credit์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์— ๋ฒ ์ŠคํŠธ!

 

C4.5


Evolution of ID3

  • Information Gain์€ Attribute Value์˜ ์ˆ˜๊ฐ€ ๋งŽ์€ Feature์ผ์ˆ˜๋ก ๊ฐ’์ด ์ปค์ง€๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค ๋Š” ๋ฌธ์ œ
    • Feature A๋Š” 5๊ฐœ์˜ Value๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , Feature B๋Š” 2๊ฐœ์˜ Value๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ํ•˜์ž
    • A๊ฐ€ B๋ณด๋‹ค ๋†’์€ Information Gain์„ ๊ฐ€์ง€๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค
    • ๊ทธ๋Ÿผ ์•„๋ฌด๋ž˜๋„ A๊ฐ€ ์„ ํƒ๋  ํ™•๋ฅ ์ด ๋†’์•„์ง„๋‹ค
  • C4.5 ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ Gain Ratio๋ฅผ ์‚ฌ์šฉ ํ•œ๋‹ค
    • Gain Ratio๋Š” Information Gain์„ Normalizationํ•œ ๊ฒƒ
    • Gain Ratio๋Š” Feature๋ฅผ ์„ ํƒํ•  ๋•Œ Branch์˜ ์ˆ˜๋ฅผ ๊ณ ๋ คํ•œ๋‹ค

 

  • SplitInfo๋Š” ๋‹จ์ง€ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ Branch๊ฐ€ ์žˆ๋Š”์ง€์—๋งŒ ์ง‘์ค‘ํ•œ๋‹ค
    • log(x)์˜ ๊ฐ’์€ x๊ฐ€ 0์— ๊ฐ€๊นŒ์›Œ์งˆ์ˆ˜๋ก ๊ธ‰๊ฒฉํ•˜๊ฒŒ ์ž‘์•„์ง„๋‹ค
    • Branch๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ์—๋Š” x์˜ ๊ฐ’์ด 0์— ๋” ๊ฐ€๊นŒ์›Œ์งˆ ๊ฒƒ์ด๊ณ , SplitInfo์˜ ๊ฐ’์€ ์ปค์ง€๊ฒŒ ๋œ๋‹ค
  • Gain Ratio๋Š” Information Gain๊ฐ’์„ SplitInfo๋กœ ๋‚˜๋ˆ ์„œ ์ •๊ทœํ™”๋ฅผ ํ•œ๋‹ค
    • Gain Ratio๋Š” Partition์ด ๋งŽ์€ Feature์—๋Š” ๋” ๋งŽ์€ ํŽ˜๋„ํ‹ฐ๋ฅผ ์ค€๋‹ค 
    • Branch(Value)๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ์—๋Š” SplitInfo๊ฐ’์ด ํฌ๊ธฐ ๋•Œ๋ฌธ์—, ๋‚˜๋ˆ ์ฃผ๋ฉด Gain๊ฐ’์ด ์ž‘์•„์ง€๊ฒŒ ๋œ๋‹ค

 

์˜ˆ์‹œ

  • Credit์˜ ๊ฒฝ์šฐ Value๊ฐ€ 3๊ฐœ (Excellent, Fair, Poor)

 

CART


Classification And Regression Trees

  • Gini Index?
    • Entropy์™€ ๋น„์Šทํ•œ ๊ฐœ๋…์„ ๊ฐ–๋Š”๋‹ค
    • CART๋Š” ID3์˜ ์•„์ด๋””์–ด์™€ ๋งค์šฐ ๋น„์Šทํ•˜๋‹ค
728x90

'HYU > ๋ฐ์ดํ„ฐ์‚ฌ์ด์–ธ์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

11. Rule Based Classification  (0) 2024.04.14
10. Overfitting  (0) 2024.04.14
8. Classification  (0) 2024.04.13
7. Association Rules  (0) 2024.04.13
6. Miner Improvements  (0) 2024.04.13