728x90

3. 랜덤 포레스트(random forest)

랜덤 포레스트는 의사결정나무의 특징인 분산이 크다는 점을 고려해, 배깅과 부스팅보다 더 많은 무작위성을 주어 약한 학습기를 생성한 후, 이를 선형 결합하여 최종 학습기를 만드는 방법

 

randomForest(formula, data, ntree, mtry, ...) : ntree - 사용할 트리 수, mtry - 각 분할에서 랜덤으로 뽑힌 변수의 수(분류 모델인 경우 변수의 갯수 값, 회귀모델은 변수의 갯수를 3으로 나눈 값)

 

library(randomForest)
md.rf = randomForest(diabetes ~.,
                     data = train,
                     ntree = 100,
                     proximity = T) #랜덤 포레스트 모델 생성
pred = predict(md.rf,
               newdata = test)

library(caret)
confusionMatrix(as.factor(pred),
                test$diabetes,
                positive = "pos")
#특이도는 0.7557로 보통임
#민감도는 0.5778로 보통임
#특이도는 0.8488로 높은 편임
#p값은 0.009357로 유의수준인 0.05를 넘지 않았고
카파통계량은 0.4406으로 Moderate(적당한 일치 상태)이다.

https://thebook.io/006723/0363/

 

R을 이용한 데이터 처리 & 분석 실무: 랜덤 포레스트

더북(TheBook): (주)도서출판 길벗에서 제공하는 IT 도서 열람 서비스입니다.

thebook.io

위 사이트에 설명이 잘 나와 있으니, 더 읽어보자.

728x90