๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ•˜๋ฃจ๊ณต๋ถ€

์ œ 20์žฅ๐Ÿ“•ML_๊ฒฐ์ • ํŠธ๋ฆฌ(Decision Tree)๐Ÿ“•

๊ฒฐ์ • ํŠธ๋ฆฌ(Decision Tree)โ“โ“โ“

 

•  ๊ด€์ธก๊ฐ’๊ณผ ๋ชฉํ‘ฏ๊ฐ’์„ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋Š” ์˜ˆ์ธก ๋ชจ๋ธ, ๋‚˜๋ฌด ๋ชจ์–‘์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•จ

 

์ˆ˜๋งŽ์€ ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์˜ ๊ธฐ๋ณธ ๋ชจ๋ธ(based model)์ด ๋˜๋Š” ์ค‘์š” ๋ชจ๋ธ

 

VS ์„ ํ˜• ๋ชจ๋ธ : ์„ ํ˜• ๋ชจ๋ธ์ด ๊ฐ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๊ธฐ์šธ๊ธฐ ๊ฐ’๋“ค์„ ์ตœ์ ํ™”ํ•˜์—ฌ ๋ชจ๋ธ์„

  ๋งŒ๋“ค์–ด ๋‚˜๊ฐ”๋‹ค๋ฉด, ํŠธ๋ฆฌ ๋ชจ๋ธ์—์„œ๋Š” ๊ฐ ๋ณ€์ˆ˜์˜ ํŠน์ • ์ง€์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ 

  ๋ถ„๋ฅ˜ ํ•ด๊ฐ€๋ฉฐ ์˜ˆ์ธก ๋ชจ๋ธ์„ ๋งŒ๋“ฆ

 

๊ฒฐ์ •ํŠธ๋ฆฌ์˜ ์˜ˆ์‹œ์ธ ํƒ€์ดํƒ€๋‹‰ํ˜ธ์˜ ํƒ‘์Šน๊ฐ ์ƒ์กด์—ฌ๋ถ€

- ์ข…์†๋ณ€์ˆ˜๊ฐ€ ์—ฐ์†ํ˜• ๋ฐ์ดํ„ฐ์™€ ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋‘์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

- ๋ชจ๋ธ๋ง ๊ฒฐ๊ณผ๋ฅผ ์‹œ๊ฐํ™”ํ•  ๋ชฉ์ ์œผ๋กœ ๊ฐ€์žฅ ์œ ์šฉ

- ์•„์›ƒ๋ผ์ด์–ด๊ฐ€ ๋ฌธ์ œ ๋  ์ •๋„๋กœ ๋งŽ์„ ๋•Œ ์„ ํ˜• ๋ชจ๋ธ๋ณด๋‹ค ์ข‹์€ ๋Œ€์•ˆ์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

 

- ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌด์ˆ˜ํ•˜๊ฒŒ ์ชผ๊ฐœ์–ด ๋‚˜๊ฐ€๊ณ , ๊ฐ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ์˜ˆ์ธก์น˜๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๋ฐฉ์‹

ex) ๋‚จ์ž/์—ฌ์ž๋กœ ๋‚˜๋ˆ ์„œ ๊ฐ ๋ชฉํ‘ฏ๊ฐ’, ํ‰๊ท ์น˜๋ฅผ ๋‚˜๋ˆ”

=>   ๋‚˜์ด๋ฅผ 30์„ธ ์ด์ƒ/๋ฏธ๋งŒ์ธ ๋‘ ๋ถ€๋ฅ˜๋กœ ๋‚˜๋ˆ ์„œ ํ‰๊ท ์น˜๋ฅผ ๊ณ„์‚ฐ

 

 - ์˜ˆ์ธก๋ ฅ๊ณผ ์„ฑ๋Šฅ์€ ๋–จ์–ด์ง€์ง€๋งŒ ์‹œ๊ฐํ™”๊ฐ€ ๋งค์šฐ ๋›ฐ์–ด๋‚จ

- ๋‹ค๋ฅธ ํŠธ๋ฆฌ๋ชจ๋ธ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค.


๐Ÿ“Œ ์˜ˆ์ธก๋ ฅ & ์„ค๋ช…๋ ฅ

๐Ÿ”Ž ์˜ˆ์ธก๋ ฅ : ๋ชจ๋ธ ํ•™์Šต์„ ํ†ตํ•ด ์–ผ๋งˆ๋‚˜ ์ข‹์€ ์˜ˆ์ธก์น˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š”๊ฐ€

 

๐Ÿ”Ž ์„ค๋ช…๋ ฅ : ํ•™์Šต๋œ ๋ชจ๋ธ์„ ์–ผ๋งˆ๋‚˜ ์‰ฝ๊ฒŒ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณต์žก๋„๊ฐ€ ์ฆ๊ฐ€ํ• ์ˆ˜๋ก

์˜ˆ์ธก๋ ฅ์€ ์ข‹์•„์ง€๋‚˜ ์„ค๋ช…๋ ฅ์€ ๋‹ค์†Œ ๋–จ์–ด์ง€๋Š” ๋ฐ˜๋น„๋ก€ ๊ด€๊ณ„

 

์ฆ‰, ๋‹จ์ˆœํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ผ์ˆ˜๋ก ์˜ˆ์ธก๋ ฅ์ด ์ƒ๋Œ€์ ์œผ๋กœ ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋‚˜ ํ•ด์„์— ์šฉ์ดํ•˜๋ฉฐ,

๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์˜ˆ์ธก๋ ฅ์ด ๋›ฐ์–ด๋‚œ ๋งŒํผ ํ•ด์„์€ ์–ด๋ ค์›€

 

๐Ÿ’ฌ ๊ฒฐ์ •ํŠธ๋ฆฌ์™€ ํšŒ๊ท€ ๋ถ„์„์€ ์ƒ๋Œ€์ ์œผ๋กœ ํ•ด์„์ด ์‰ฌ์›Œ ์„ค๋ช…๋ ฅ์ด ๋†’๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, 

์ดํ›„ ๋ฐฐ์šธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ ๋ณต์žก๋„๊ฐ€ ์ฆ๊ฐ€ํ•˜์—ฌ ์˜ˆ์ธก๋ ฅ์ด ๋†’์ง€๋งŒ ํ•ด์„์ด ์–ด๋ ต๋‹ค

๋”ฅ๋Ÿฌ๋‹ ๋˜ํ•œ ๋งค์šฐ ๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ•ด์„์ด ์–ด๋ ค์›Œ์„œ ์ด๋ฅผ ๋ธ”๋ž™๋ฐ•์Šค์— ๋น„์œ ํ•˜๊ธฐ๋„ ํ•œ๋‹ค,

 

๐Ÿ’ฌ ์˜ํ•™๊ณ„์—ด์—์„œ ํŠน์ง• ์งˆ๋ณ‘์˜ ๋ฐœ๋ณ‘๋ฅ ์— ๋Œ€ํ•œ ์˜ˆ์ธก ๋ชจ๋ธ์„ ๋งŒ๋“ค ๋•Œ๋Š”, ๋ฐœ๋ณ‘๋ฅ ์„

๋†’์ด๊ฑฐ๋‚˜ ์–ต์ œํ•˜๋Š” ์ค‘์š”ํ•œ ์š”์ธ์„ ๋ฐํžˆ๋Š” ๋ฐ๋Š” ์„ค๋ช…๋ ฅ์ด ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ ํ•ฉํ•  ์ˆ˜ ์žˆ๊ณ ,

์‚ฌ๊ธฐ๊ฑฐ๋ž˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ชจ๋ธ์—์„œ๋Š” ์š”์ธ๋ณด๋‹ค๋Š” ๋” ์ ํ™•ํ•˜๊ฒŒ ์‚ฌ๊ธฐ๊ฑฐ๋ž˜๋ฅผ ์žก์•„๋‚ผ ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋ฏ€๋กœ

์˜ˆ์ธก๋ ฅ์ด ๋†’์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋” ์ ํ•ฉํ•˜๋‹ค... ๋”ฐ๋ผ์„œ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์šฐ์„ ์‹œํ•  ๊ฒƒ์ด ๋‹ค๋ฅด๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

๐Ÿ’ช์žฅ์ 

• ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๊ฐ€์ •์ด ์—†๋Š”๋ชจ๋ธ( Nonparametric Model)

(VS ์„ ํ˜•ํšŒ๊ท€) 

  ์•„์›ƒ๋ผ์ด์–ด์— ์˜ํ–ฅ์„ ๊ฑฐ์˜ ๋ฐ›์ง€ ์•Š์Œ

  ํŠธ๋ฆฌ ๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•ด์„œ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ด & ์„ค๋ช… ๊ฐ€๋Šฅ

 => ์‹œ๊ฐํ™”์— ๋งค์šฐ ์ข‹์Œ

 

๐Ÿฉธ ๋‹จ์ 

   ํŠธ๋ฆฌ๊ฐ€ ๋ฌดํ•œ์ • ๊นŠ์–ด์ง€๋ฉด ์˜คํผ ํ”ผํŒ… ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐ

๐Ÿ”Ž ์˜ค๋ฒ„ ํ”ผํŒ…??? : ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ์— ๋„ˆ๋ฌด ์ •ํ™•ํ•˜๊ฒŒ ํ•™์Šต์ด ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ƒ˜ํ”Œ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ํŒ๋‹จ์„ ํ•˜๋ฉด 100%์— ๊ฐ€๊นŒ์šด ์ •ํ™•๋„๋ฅผ ๋ณด์ด์ง€๋งŒ ๋‹ค๋ฅธ ๋ฐ์ดํƒ€๋ฅผ ๋„ฃ๊ฒŒ ๋˜๋ฉด, ์ •ํ™•๋„๊ฐ€ ๊ธ‰๊ฒฉํ•˜๊ฒŒ ๋–จ์–ด์ง€๋Š” ๋ฌธ์ œ์ด๋‹ค.

 

   ๋ฐœ์ „๋œ ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ๋“ค์— ๋น„ํ•ด ์˜ˆ์ธก๋ ฅ์ด ๋งค์šฐ ๋–จ์–ด์ง

 

 

๐ŸŒฒ ๊ฒฐ์ • ํŠธ๋ฆฌ ๊ณผ์ • 

์œ„์˜ ์„ค๋ช…๋“ค์„ ์ฐธ๊ณ ํ•˜์—ฌ 

๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ => ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ => ๋ชจ๋ธ๋ง => ํ‰๊ฐ€(๊นŠ์ด๋ฅผ ์ ๋‹นํžˆ ์„ค์ •ํ•˜์—ฌ ์˜ค๋ฒ„ ํ”ผํŒ… ๋ฐฉ์ง€)

 

๐Ÿ“Š ์‹œ๊ฐํ™” ๊ฒฐ๊ณผ ๋„์ถœ 

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ : from sklearn.tree import plot_tree

                     plt.figure(figsize=( ?  ,  ?  ) <= ๊ทธ๋ž˜ํ”„ ํฌ๊ธฐ ์„ค์ •

                     plot_tree(model,  max_depth= ๊นŠ์ด๊ฐ’ ์„ค์ • , fontsize= ๊ธ€์žํฌ๊ธฐ)

                     plt.show( )

์—ฐ๋ด‰ ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด ๋‚˜๋ผ๋ณ„ ๊ณ ์—ฐ๋ด‰์ž ๋ฐ์ดํ„ฐ ๋ถ„์„