๋ฐ์ํ
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
๋ฐ์ํ
'Computer Science > Data Science' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Machine Learning] LightGBM์ด๋? โ ์ค๋ช ๋ฐ ์ฅ๋จ์ (0) | 2021.05.20 |
---|---|
[Machine Learning] ๋จธ์ ๋ฌ๋, ๋ชจ๋ธ์ ํธํฅ(bias)๊ณผ ๋ถ์ฐ(variance) : trade-off ๊ด๊ณ (0) | 2021.05.12 |
๋ฌธ์์ ์ฌ๋ (0) | 2021.04.29 |
Naive Bayes Classifier (0) | 2021.03.08 |
Random Forest ๊ฐ.๋จ.๋ช .๋ฃ (0) | 2021.03.08 |
๋จ์์ ํํ๊ท / ๋ค์ค์ ํํ๊ท ๊ฐ.๋จ.๋ช .๋ฃ (0) | 2021.03.07 |
K-means Clustering ๊ฐ.๋จ.๋ช .๋ฃ (0) | 2021.03.06 |
๋จธ์ ๋ฌ๋/AI์์ ์ฌ์ฉ๋๋ "Ground Truth" ๋ป (5) | 2021.03.05 |