01. ์์๋ธ(Ensemble) ๋ชจ๋ธ
์ฌ๋ฌ ๊ฐ์ ๋ถ๋ฅ๊ธฐ(Classifier)๋ฅผ ์์ฑํ๊ณ , ๊ฐ ์์ธก ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํฉํ์ฌ ์์ธก๋ ฅ์ ํฅ์์ํค๋ ๋ชจ๋ธ
๋จ์ผ ๋ชจ๋ธ(Decision Tree)์ ๋นํด์ ๋ถ๋ฅ ์ฑ๋ฅ์ด ์ฐ์ (๊ณผ์ ํฉ, ์์ธก๋ฅ ์ ํ ํด๊ฒฐ)
๋จ์ผ Tree vs ์์๋ธ ๋ชจ๋ธ
Decision tree | Random Forest (์์๋ธ ๋ชจ๋ธ ์์ฑ ํจํค์ง) |
๋์ผํ ํ๋์ ๋ฐ์ดํฐ ์งํฉ์์ ํ ๊ฐ์ ํ๋ จ์ฉ ๋ฐ์ดํฐ๋ฅผ ์์ฑ | ๋์ผํ ํ๋์ ๋ฐ์ดํฐ ์งํฉ์์ ์์๋ณต์ ์ํ๋ง์ ํตํด ์ฌ๋ฌ ๊ฐ์ ํ๋ จ์ฉ ๋ฐ์ดํฐ๋ฅผ ์์ฑ |
ํ ๋ฒ์ ํ์ต์ ํตํด์ ํ๋์ ๋ถ๋ฅ ํธ๋ฆฌ ์์ฑ ๋ฐ ๋ชฉํ๋ณ์ ์์ธก | ์ฌ๋ฌ ๋ฒ์ ํ์ต์ ํตํด ์ฌ๋ฌ ๊ฐ์ ํธ๋ฆฌ ์์ฑํ๊ณ , ์ด๋ฅผ ๊ฒฐํฉํ์ฌ ์ต์ข ์ ์ผ๋ก ๋ชฉํ๋ณ์ ์์ธก |
์์ฑ๋ ๋ถ๋ฅ๋ชจ๋ธ์ ๊ฒ์ ๋ฐ์ดํฐ์ ์ ์ฉํ์ฌ ๋ชฉํ๋ณ์ ์์ธก | ์ฌ๋ฌ ๋ฒ์ ํ์ต์ ํตํด ์ฌ๋ฌ ๊ฐ์ ํธ๋ฆฌ ์์ฑํ๊ณ , ์ด๋ฅผ ๊ฒฐํฉํ์ฌ ์ต์ข ์ ์ผ๋ก ๋ชฉํ๋ณ์ ์์ธก |
์์๋ธ(Ensemble) ์๊ณ ๋ฆฌ์ฆ
์ข ๋ฅ : ๋ฐฐ๊น (Bagging), ๋ถ์คํ (Boosting)
์์๋ธ ํ์ต ๋ชจ๋ธ ์์ฑ ์ ์ฐจ : ์ ์ฒด ๋ฐ์ดํฐ์์ ํ๋ จ ์งํฉ ์์ฑ > ๊ฐ ํ๋ จ์งํฉ ๋ชจ๋ธ ํ์ต > ํ์ต๋ ๋ชจ๋ธ ์์๋ธ ๋์ถ
* ๋จ, ๋ชจ๋ธ ๊ฒฐ๊ณผ์ ํด์์ด ์ด๋ ต๊ณ , ์์ธก ์๊ฐ์ด ๋ง์ด ์์๋๋ค.
์์๋ธ ํ์ต ์๊ณ ๋ฆฌ์ฆ ๋น๊ต
๋ฐฐ๊น (Bagging) | ๋ถ์คํ (Boosting) | |
๊ณตํต์ | ์ ์ฒด ๋ฐ์ดํฐ ์งํฉ์ผ๋ก๋ถํฐ ๋ณต์ ๋๋ค ์ํ๋ง(bootstrap) ์ผ๋ก ํ๋ จ ์งํฉ ์์ฑ | |
์ฐจ์ด์ | ๋ณ๋ ฌํ์ต : ๊ฐ ๋ชจ๋ธ์ ๊ฒฐ๊ณผ ๋ฅผ ์กฐํฉํ์ฌ ํฌํ ๊ฒฐ์ | ์์ฐจํ์ต : ํ์ฌ ๋ชจ๋ธ ๊ฐ์ค์น -> ๋ค์ ๋ชจ๋ธ ์ ๋ฌ |
ํน์ง | ๊ท ์ผํ ํ๋ฅ ๋ถํฌ์ ์ํด์ ํ๋ จ ์งํฉ ์์ฑ | ๋ถ๋ฅํ๊ธฐ ์ด๋ ค์ด ํ๋ จ ์งํฉ ์์ฑ |
๊ฐ์ | ๊ณผ๋์ ํฉ์ ๊ฐํจ | ๋์ ์ ํ๋ |
์ฝ์ | ํน์ ์์ญ ์ ํ๋ ๋ฎ์ | Outlier ์ทจ์ฝ |
R ํจํค์ง๋ช | randomForest | XGboost |
์์๋ธ ํ์ต ์๊ณ ๋ฆฌ์ฆ
Bagging์ ์ผ๋ฐ์ ๋ชจ๋ธ์ ๋ง๋๋ ๋ฐ ์ง์ค, Boosting์ ๋ง์ถ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ๋ฅผ ๋ง์ถ๋ ๋ฐ ์ด์ ์ ๋ง์ถ ์์๋ธ ํ์ต ๋ฐฉ๋ฒ
02. ๋ถํธ์คํธ๋ฉ(Bootstrap)
์์๋ธ ๋ชจ๋ธ์์ ์๋์ ๋ฐ์ดํฐ ์ ์ผ๋ก๋ถํฐ ๋ณต์ ์ถ์ถ๋ฐฉ์์ผ๋ก ํ๋ จ ๋ฐ์ดํฐ ์ ์ ์์ฑํ๋ ๊ธฐ๋ฒ
๋ฐ์ดํฐ์ ์์ ์์์ ์ผ๋ก ๋๋ฆฌ๊ณ , ๋ฐ์ดํฐ ์ ์ ๋ถํฌ๊ฐ ๊ณ ๋ฅด์ง ์์ ๋ ๊ณ ๋ฅด๊ฒ ๋ง๋๋ ํจ๊ณผ
03. ๋ฐฐ๊น ์๊ณ ๋ฆฌ์ฆ
Bagging : Bootstrap Aggregating(“์ฃผ๋จธ๋ ํตํฉ”)
๋ถํธ์คํธ๋ฉ์ ํตํด์ ์กฐ๊ธ์ฉ ์๋ก ๋ค๋ฅธ ํ๋ จ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์ฌ ๋ชจ๋ธ (ํ๋ จ ๋ ํธ๋ฆฌ)์ ์์ฑํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํฉ(aggregating) ์ํค๋ ๋ฐฉ๋ฒ
1. D๊ฐ์ ์ ์ฒด๋ฐ์ดํฐ๊ฐ ์๋ค.
2. ์ ์ฒด๋ฐ์ดํฐ์์ D๊ฐ์ ๊ฐ์ ๊ฐฏ์์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์์ถ์ถํ์ฌ D1 (์ฃผ๋จธ๋) ์์ฑ
3. D1 ๋ฐ์ดํฐ๋ฅผ ํ์ตํ์ฌ ํธ๋ฆฌ๋ชจ๋ธ ์์ฑ
4. ์ 2๋ฒ~3๋ฒ์ผ๋ก Dm(์ฃผ๋จธ๋) ์์ฑ, ํธ๋ฆฌ๋ชจ๋ธ ์์ฑ
5. m๊ฐ ํธ๋ฆฌ์ ํ๊ท ์ผ๋ก y์์ธก - ์์ ๋ฐ์๋ณ์(ํ๊ทํธ๋ฆฌ) : ๊ฐ ํธ๋ฆฌ ํ๊ท ์์ธก - ์ง์ ๋ฐ์๋ณ์(๋ถ๋ฅํธ๋ฆฌ) : ๊ฐ ํธ๋ฆฌ voting ์์ธก
04. ๋ถ์คํ (boosting) ์๊ณ ๋ฆฌ์ฆ
์๋ชป ๋ถ๋ฅ๋ ๊ฐ์ฒด๋ค์ ์ง์คํ์ฌ ์๋ก์ด ๋ถ๋ฅ๊ท์น์ ์์ฑํ๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํ๋ ์๊ณ ๋ฆฌ์ฆ(์์ฐจ์ ํ์ต)
์ฝํ ์์ธก๋ชจํ๋ค์ ๊ฒฐํฉํ์ฌ ๊ฐํ ์์ธก๋ชจํ์ ๋ง๋๋ ์๊ณ ๋ฆฌ์ฆ
์ค ๋ถ๋ฅ๋ ๊ฐ์ฒด๋ ๋์ ๊ฐ์ค์น, ์ ๋ถ๋ฅ๋ ๊ฐ์ฒด๋ ๋ฎ์ ๊ฐ์ค์น๋ฅผ ์ ์ฉํ์ฌ ์์ธก๋ชจํ์ ์ ํ๋๋ฅผ ํฅ์์ํค๊ธฐ ์ํ ๋ฐฉ๋ฒ
05. RandomForest
ํน์ง
๋ฐฐ๊น ์๊ณ ๋ฆฌ์ฆ๊ณผ ์ ์ฌํจ(์์๋ธ ๋ชจ๋ธ)
ํ๊ท๋ถ์, ๋ถ๋ฅ๋ถ์ ๋ชจ๋ ๊ฐ๋ฅ
๋ณ๋ ํ๋(์ค์ผ์ผ ์กฐ์ ) ๊ณผ์ ์์
๋จ์ผ tree ๋ชจ๋ธ ๋จ์ ๋ณด์(์ฑ๋ฅ, ๊ณผ๋์ ํฉ)
๋์ฉ๋ ๋ฐ์ดํฐ ์ ์ผ๋ก ์ฒ๋ฆฌ์๊ฐ ์ฆ๊ฐ(๋จ์ )
๋ฉํฐ์ฝ์ด ํ๋ก์ธ์ค ์ด์ฉ ๋ณ๋ ฌ์ฒ๋ฆฌ ๊ฐ๋ฅ
์ฐจ์ด์
๋ฐฐ๊น : ์ํ ๋ณต์ ์ถ์ถ ์ ๋ชจ๋ ๋ ๋ฆฝ๋ณ์(์ค๋ช ๋ณ์) ์ฌ์ฉ
๋๋คํฌ๋ ์คํธ : a๊ฐ ๋ ๋ฆฝ๋ณ์(์ค๋ช ๋ณ์)๋ง์ผ๋ก ๋ณต์ ์ถ์ถ
์ค๋ช ๋ณ์ ๊ฐ์ : sqrt(์ค๋ช ๋ณ์ ๊ฐ์) (์: 15๊ฐ ๋ณ์๋ผ๋ฉด 4๊ฐ ์ ๋)
์ค๋ช ๋ณ์๊ฐ ๋ง์ ๊ฒฝ์ฐ ๋ณ์๊ฐ ์๊ด์ฑ์ด ๋์ ๋ณ์๊ฐ ์์ผ ํ๋ฅ ์ ๊ฑฐ
Random Forest ๋ชจ๋ธ ์์ฑ ๋จ๊ณ
1. ๋ฐฐ๊น ์ ์ด์ฉํ์ฌ BootStrap ๋ง๋ ๋ค. (์ค๋ณต์ ํ์ฉํ data sample)
2. Bootstrap์ ์ด์ฉํ์ฌ Decision Tree๋ฅผ ํ์ตํ๊ณ ์์ธกํ๋ค.
3. 1,2๋ฒ์ ์ถฉ๋ถํ ๋ฐ๋ณตํ์ฌ ์ฌ๋ฌ ๊ฐ์ Decision Tree๋ฅผ ๋ง๋ค๊ณ ์์ธก์ ๋ชจ์๋ค.
* ๋ถ๋ฅ์ฑ๋ฅ๊ณผ ๋ ธ์ด์ฆ์ ๊ฐํ ๋ชจ๋ธ (๊ณผ๋์ ํฉ ์๋ฐฉ)
4. ์์ธก๊ฒฐ๊ณผ๋ฅผ ๋ชจ์์ ์์๋ธ ๋ชจ๋ธ์ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๋ค.
* ํ๊ทํธ๋ฆฌ : ์์ธก๋ค์ ํ๊ท ์ผ๋ก ๊ฒฐ์
* ๋ถ๋ฅํธ๋ฆฌ : ๋ค์ค ํฌํ(Majority Vote)๋ก ๊ฒฐ์
Random Forest ์ฌ์ฉ ์ด์
1. ๋จ์ผ ์์ฌ๊ฒฐ์ ํธ๋ฆฌ๋ ๊ณผ๋์ ํฉ(overfitting)์ ์ํ์ด ํผ
2. ๋ฐฐ๊น ์ ์ด์ฉํด ๊ฐ ํธ๋ฆฌ์ ํ๊ท , ํ๋ฅ , ํฌํ๋ฅผ ํตํด ๋ชฉํ๋ณ์ ์์ธก
3. ํธ๋ฆฌ์ ํธํฅ์ ์ ์ง๋๊ณ , ๋ถ์ฐ์ ๊ฐ์๋๊ธฐ ๋๋ฌธ์ ๋์ ์ ํ๋์ ๊ณผ๋์ ํฉ ํด๊ฒฐ
4. ๋น ๋ฐ์ดํฐ ์์คํ ์์ ๋ถ์ฐ์ฒ๋ฆฌ ์์คํ ์ ๋ง๋ ๋ถ๋ฅ๋ถ์ ๊ธฐ๋ฒ
* ์ฌ๋ฌ ๊ฐ์ ํ๋ จ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ํธ๋ฆฌ ์์ฑ, ๊ฒฐํฉ์ ํตํด ๋ชฉํ๋ณ์ ์์ธก์ ๊ตฌ์กฐ๊ฐ ๋ถ์ฐ์ฒ๋ฆฌ์์คํ ์ ์ ํฉ
Random Forest ๋ชจ๋ธ ํ๊ฐ
OOB error(Out-of-Bag error)
OOB(Out-of-Bag) : Bootstrap์ ํตํด์ ๋๋ค์ผ๋ก ์ค๋ณต ์ถ์ถํ ๊ฒฝ์ฐ ํ๋ จ์ ์ ํฌํจ๋์ง ์์ ์๋ฃ
OOB error : ํ๋ จ์ (train)์ ํฌํจ๋์ง ์์ ์๋ฃ๋ฅผ ์ด์ฉํ์ฌ ๊ฐ ๋ถ๋ฅ๊ธฐ์์ ์์ธกํ๊ณ ์ค์ ๊ฐ๊ณผ ๋น๊ตํ์ฌ ์๋ฌ์จ์ ๊ณ์ฐํ ํ๊ท ์ผ๋ก ๋ชจ๋ธ ํ๊ฐํ๋ ๋ฐฉ์
Tree ๊ฐ์์ ์ค๋ช ๋ณ์ ๊ฐ์
1. bootstrap์ ์ m์ ์ด๋ ์ ๋ ์ปค์ผํ ๊น?
m์ด 100์ด์์ด๋ฉด ์ถฉ๋ถํ์ง๋ง ๊ฒ์ ์ค์ฐจ๋ฅผ ์ค์ด๊ธฐ ์ํด์ ๋ ํฐ ๊ฐ์ ์ฌ์ฉํ ์ ์๋ค. (400~500๊ฐ)
2. ๋๋คํฌ๋ฆฌ์คํธ์ ์ค๋ช ๋ณ์ ๊ฐ์ a๋ ์ผ๋ง๊ฐ ์ ๋นํ๊ฐ?
๋ถ๋ฅTree : a = ์ค๋ช ๋ณ์ p์ ์ ๊ณฑ๊ทผ
ํ๊ทTree : a = ์ค๋ช ๋ณ์ p / 3 โ ๋ณ์๊ฐ ์๊ด์ฑ์ ๋ฐ๋ผ ์ต์ ์ a๊ฐ์ด ๋ค๋ฅผ ์ ์๋ค.
[์ค์ต1]
install.packages('randomForest')
library(randomForest) #randomForest()ํจ์ ์ ๊ณต
data(iris)
1. ๋๋ค ํฌ๋ ์คํธ ๋ชจ๋ธ ์์ฑ
ํ์) randomForest(y ~ x, data, ntree=500, mtry) -> y:์ข
์๋ณ์ x:๋
๋ฆฝ๋ณ์
y๊ฐ ๋ฒ์ฃผํ์ด๋ฏ๋ก ๋ถ๋ฅtree ์์ฑ
model = randomForest(Species~., data=iris, #row๋ฐ์ดํฐ ์ ์ฒด๋ฅผ ์ด์ฉ
ntree=500, mtry=2, na.action=na.omit) #์ค๋ณต์ด ํ์ฉ๋ 500๊ฐ์ dataset
model
ntree : ์์ฑํ tree๊ฐ์
mtry : ์ค๋ช
๋ณ์(๋
๋ฆฝ๋ณ์) ๊ฐ์ (๋ถ๋ฅํธ๋ฆฌ์ผ ๊ฒฝ์ฐ sqrt(p), ์ค๋ช
๋ณ์์ผ ๊ฒฝ์ฐ p/3)
OOB estimate of error rate: 4.67% -> ๋ชจ๋ธํ๊ฐ
sqrt(4) #์ค๋ช
๋ณ์ ๊ฐ์ : 2
aac = (50+47+46) / nrow(iris) #0.9466667
1-aac #OOB error : 0.04666667
2. model ์ ๋ณด ํ์ธ
names(model) # 19์ปฌ๋ผ ์ ๊ณต
con = model$confusion
con
y ์์ธก์น
pred = model$predicted
pred
y ๊ด์ธก์น(์ ๋ต)
model$y
3. ์ค์ ๋ณ์ ์์ฑ
model2 = randomForest(Species ~ ., data=iris,
ntree=500, mtry=2,
importance = T,
na.action=na.omit)
model2
y์ ์ํฅ์ ๋ฏธ์น๋ ์ค์๋ณ์ imporance์ ๋ํ ์ ๋ณด ๋ฐ๋ก ๋ณด๊ธฐ
model2$importance
MeanDecreaseAccuracy : ๋ถ๋ฅ ์ ํ๋ ๊ฐ์ ์ ๊ณตํ๋
[ํด์] Petal.Length, Petal.Width์ ์ซ์๊ฐ ๋น๊ต์ ํฌ๋ค -> ์ ํ๋์ ์ํฅ์ ๋ฏธ์น๋ ๋ณ์์ด๋ค.
MeanDecreaseGini : ๋ถ์๋ ๊ฐ์ ์ ๊ณตํ๋
[ํด์] Petal.Length, Petal.Width๊ฐ ์ ํ๋์ ์ํฅ์ ๋ฏธ์น๋ ๋ณ์์ด๋ค.
varImpPlot(model2)
* ๋ ๋ฆฝ๋ณ์๊ฐ ๋ง์ ๋, ์ฐจ์์ ์ถ์ํ์ง ์๊ณ ์ฃผ์ ๋ณ์ ์ ํ์ ์์ด ์ค์ ์ ๋ณด ์ ๊ณต
[์ค์ต2] ํ๊ทํธ๋ฆฌ(y๋ณ์ : ๋น์จ์ฒ๋)
library(MASS)
data("Boston")
str(Boston)
#506 obs. of 14variables / ์ ๋ถ ์ซ์ํ->ํ๊ทtree์ ์ ํฉ
#crim : ๋์ 1์ธ๋น ๋ฒ์ฃ์จ
#zn : 25,000 ํ๋ฐฉํผํธ๋ฅผ ์ด๊ณผํ๋ ๊ฑฐ์ฃผ์ง์ญ ๋น์จ
#indus : ๋น์์
์ง์ญ์ด ์ ์ ํ๊ณ ์๋ ํ ์ง ๋น์จ
#chas : ์ฐฐ์ค๊ฐ์ ๋ํ ๋๋ฏธ๋ณ์(1:๊ฐ์ ๊ฒฝ๊ณ ์์น, 0:์๋ ๊ฒฝ์ฐ)
#nox : 10ppm ๋น ๋์ถ ์ผ์ฐํ์ง์
#rm : ์ฃผํ 1๊ฐ๊ตฌ๋น ํ๊ท ๋ฐฉ์ ๊ฐ์
#age : 1940๋
์ด์ ์ ๊ฑด์ถ๋ ์์ ์ฃผํ ๋น์จ
#dis : 5๊ฐ ๋ณด์คํด ์ง์
์ผํฐ๊น์ง์ ์ ๊ทผ์ฑ ์ง์
#rad : ๊ณ ์๋๋ก ์ ๊ทผ์ฑ ์ง์
#tax : 10,000 ๋ฌ๋ฌ ๋น ์ฌ์ฐ์ธ์จ
#ptratio : ๋์๋ณ ํ์/๊ต์ฌ ๋น์จ
#black : ์์น ๋์๋ณ ํ์ธ ๋น์จ
#lstat : ํ์๊ณ์ธต ๋น์จ
#medv(y) : ์์ ์ฃผํ๊ฐ๊ฒฉ ์ค์๊ฐ (๋จ์ : $1,000)
Boston$medv #scaling๋์ง ์์ ์๋ฃ
p = 13 #13๊ฐ์ ๋
๋ฆฝ๋ณ์
mtry = p / 3
mtry #4.33333 -> 5๋ก ๋
๋ฆฝ๋ณ์ ๊ฒฐ์
boston_model <- randomForest(medv ~ ., data = Boston,
mtree = 500, mtry = 5,
importance = T,
na.action=na.omit) #๊ฒฐ์ธก์น๊ฐ ์์ ๋ ์ด๋ป๊ฒ ํ๊ฒ ๋๊ฐ? = ๊ฒฐ์ธก์น ์ ๊ฑฐ
boston_model
Mean of squared residuals 9.763377 : MSE(ํ๊ท ์ ๊ณฑ์ค์ฐจ)๋ก ๋ชจ๋ธ ํ๊ฐ
% Var explained 88.43 : R2 score๋ก ๋ชจ๋ธ ํ๊ฐ
names(boston_model)
์์ธก์น vs ๊ด์ธก์น
y_pred = boston_model$predicted
y_true = boston_model$y
R2 score
R2_score = cor(y_true, y_pred)^2
R2_score #0.8887293
MSE = mean((y_true - y_pred)^2)
MSE #9.763377
* y๊ฐ scaling๋์ง ์์์ ๋, R2 score๋ฐฉ๋ฒ์ผ๋ก ํ๊ฐ
์ค์๋ณ์ ํ์ธ
importance(boston_model)
varImpPlot(boston_model)
[์ค์ต3] ๋ถ๋ฅํธ๋ฆฌ(y๋ณ์ : ๋ฒ์ฃผํ)
titanic = read.csv(file.choose()) # titanic3.csv
str(titanic)
titanic3.csv ๋ณ์ ์ค๋ช
'data.frame': 1309 obs. of 14 variables:
1.pclass : 1, 2, 3๋ฑ์ ์ ๋ณด๋ฅผ ๊ฐ๊ฐ 1, 2, 3์ผ๋ก ์ ์ฅ
2.survived : ์์กด ์ฌ๋ถ. survived(์์กด=1), dead(์ฌ๋ง=0)
3.name : ์ด๋ฆ(์ ์ธ)
4.sex : ์ฑ๋ณ. female(์ฌ์ฑ), male(๋จ์ฑ)
5.age : ๋์ด
6.sibsp : ํจ๊ป ํ์นํ ํ์ ๋๋ ๋ฐฐ์ฐ์์ ์
7.parch : ํจ๊ป ํ์นํ ๋ถ๋ชจ ๋๋ ์๋
์ ์
8.ticket : ํฐ์ผ ๋ฒํธ(์ ์ธ)
9.fare : ํฐ์ผ ์๊ธ
10.cabin : ์ ์ค ๋ฒํธ(์ ์ธ)
11.embarked : ํ์นํ ๊ณณ(์ ์ธ) C(Cherbourg), Q(Queenstown), S(Southampton)
12.boat : (์ ์ธ)Factor w/ 28 levels "","1","10","11",..: 13 4 1 1 1 14 3 1 28 1 ...
13.body : (์ ์ธ)int NA NA NA 135 NA NA NA NA NA 22 ...
14.home.dest: (์ ์ธ)
์ญ์ ์นผ๋ผ : 3, 8, 10~14
df = titanic[, -c(3, 8, 10:14)]
dim(df) #1309 7
sqrt(7) #2.645751 -> 3
์ซ์ํ -> ์์ธํ(๋๋ฏธ๋ณ์) ๋ณํ
df$survived = factor(df$survived)
titanic_model = randomForest(survived ~ ., data = df,
mtree = 500, mtry = 3,
importance = T,
na.action=na.omit)
titanic_model #19.04
con = titanic_model$confusion
0 1 class.error
0 548 70 0.1132686
1 129 298 0.3021077
acc = (con[1,1] + con[2,2]) / sum(con)
acc #0.8092477
์ค์๋ณ์ ํ์ธ
importance(titanic_model)
varImpPlot(titanic_model)
'๋ฐ์ดํฐ๋ถ์๊ฐ ๊ณผ์ > R' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DAY30. R ๋ณด์ถฉ์์ ๊ธฐ์ ํต๊ณ๋ถ์, up&down ์ํ๋ง (0) | 2021.10.27 |
---|---|
DAY29. R ์ด์ ๋ฆฌ ๋ฌธ์ (0) | 2021.10.26 |
DAY27. R ์ฐ๊ด๋ถ์ (0) | 2021.10.22 |
DAY26. R ๊ตฐ์ง๋ถ์(2) (0) | 2021.10.21 |
DAY25. R ๊ตฐ์ง๋ถ์ (0) | 2021.10.21 |