R/R machine learning

[R machine learning] Decision Tree/Random Forest

시키테이 2020. 4. 29. 09:30
반응형

 decision tree나 random forest를 위한 기본적으로 library는 다음과 같습니다. 

install.packages('rpart')
install.packages('rpart.plot')
install.packages('randomForest')
library(rpart)
library(rpart.plot)
library(randomForest)

여기에 내장된 kyphosis 데이타를 사용합니다. 구조와 미싱 여부를 확인하구요. 미싱은 없는 것으로 나오네요. 

str(kyphosis)
head(kyphosis)
print(is.na(kyphosis))

rpart가 의사결정나무 즉  decision tree 기본 함수입니다. ~.는 종속변수를 제외한 모든 변수를 넣는다는 말이구요. 이어서 랜덤포레스트도 한 번 같이 돌려봅니다. 

tree<-rpart(Kyphosis~.,method='class', data=kyphosis)
rf<-randomForest(Kyphosis~., data=kyphosis)

의사결정나무가 제대로 잘 되었는지 보기 위해 다음과 같이 시각해봅니다. 

printcp(tree)
plot(tree, main="Tree")
text(tree, all=T)

마찬가지로 랜덤 포레스트의 결과를 바탕으로 confusion matrix를 한 번 계산해봅니다. 

print(rf)
rf$call
rf$ntree
rf$confusion

decision tree에는 rpart이외에도 party, tree 등 다른 라이브러리들이 있습니다. 이 셋은 기본적으로 가정하는 방식이 조금 다릅니다. 이 부분에 대해서는 추후 언급할 기회가 있으면 다시 해보도록 해보죠. 

반응형

'R > R machine learning' 카테고리의 다른 글

[Quanteda] keyword analysis visualization  (0) 2020.06.10