Computer Science/Data Science
Decision Tree ๊ฐ.๋จ.๋ช .๋ฃ
_cactus
2021. 3. 8. 00:02
๋ฐ์ํ
Decision tree
: ์์ฌ๊ฒฐ์ ๋๋ฌด
๋ถ๋ฅ(classification)๊ณผ ํ๊ท๋ถ์(regression)์ ๋ชจ๋ ์ฌ์ฉ๋ ์ ์๊ธฐ ๋๋ฌธ์ CART(Classification And Regression Tree)๋ผ๊ณ ๋ถ๋ฆผ
node
- tree์ node : ์ง๋ฌธ/๋ต์ ๋ด๊ณ ์์
- root node : ์ต์์ node
- ์ต์์ node์ ์์ฑ feature๊ฐ ๊ฐ์ฅ ์ค์ํ ํน์ฑ
- leaf node : ๋ง์ง๋ง node (๋ง๋จ๋ ธ๋)
- ๋ง์ฝ tree์ ๋ชจ๋ leaf node๊ฐ pure node๊ฐ ๋ ๋๊น์ง ์งํํ๋ฉด model์ ๋ณต์ก๋๋ ๋งค์ฐ ๋์์ง๊ณ overfitting๋จ
- root node : ์ต์์ node
- overfitting ๋ฐฉ์ง
- tree์ ์์ฑ์ ์ฌ์ ์ ์ค์ง : pre-prunning (=๊น์ด์ ์ต๋๋ฅผ ์ค์ , max_depth)
- ๋ฐ์ดํฐ๊ฐ ์ ์ node ์ญ์ /๋ณํฉ : post-prunning
feature importance
- tree๋ ์ด๋ป๊ฒ ์๋ํ๋์ง ์์ฝํ๋ ์์ฑ๋ค์ ์ฌ์ฉํ ์ ์์
- feature imporance๋ tree๋ฅผ ๋ง๋๋ ๊ฒฐ์ ์ ๊ฐ ํน์ฑ์ด ์ผ๋ง๋ ์ค์ํ์ง๋ฅผ ํ๊ฐ
- 0 ~ 1 ์ฌ์ด ๊ฐ (0 : ์ ํ ์ฌ์ฉ๋์ง ์์, 1 : ์๋ฒฝํ๊ฒ ์์ธก)
- feature importance๋ ์๊ฐํ๊ฐ ๊ฐ๋ฅํ๋ค
tree ์๊ฐํ
import graphviz
from sklearn.tree import export_graphviz
classification ๋ถ๋ฅ
- ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ํน์ terminal node์ ์ํ๋ค๋ ์ ๋ณด๋ฅผ ํ์ธํ ๋ค ํด๋น terminal node์์ ๊ฐ์ฅ ๋น๋๊ฐ ๋์ ๋ฒ์ฃผ์ ์๋ก์ด ๋ฐ์ด์ฒ๋ฅผ ๋ถ๋ฅ
regression ํ๊ท
- ํด๋น terminal node์ ์ข ์๋ณ์(y)์ ํ๊ท ์ ์์ธก๊ฐ์ผ๋ก ๋ฐํ
- ์์ธก๊ฐ์ ์ข
๋ฅ = terminal node์ ๊ฐ์
- ๋ฐ๋ผ์, ๋ง์ฝ terminal node ์๊ฐ 3๊ฐ ๋ฟ์ด๋ผ๋ฉด ์๋ก์ด ๋ฐ์ดํฐ๊ฐ 1000๊ฐ ์ฃผ์ด์ง๋ค ํ๋๋ผ๋ decision tree๋ ๋ฑ 3์ข ๋ฅ์ ๋ต๋ง ์ถ๋ ฅ
728x90
๋ฐ์ํ