모형 적합 - Random Forest
Random Forest
- 여러 개의 tree 모형을 가지고 평균을 내어 결과를 추정하는 방법
- 평균을 낸 값이기 때문에 분산이 줄어들게 됨
- Tree기법은 변수값에 민감하기 때문에 변수의 값이 조금 변하거나 단지 하나의 자료만 추가되더라도 결정 규칙이 바뀌는 경우가 발생
- 좋은 분석은 몇몇개의 자료에 의해 결과가 바뀌는 일이 일어나지 않음 -> 결과는 안정적이고 신뢰성이 높아야 함
- 일부 자료만을 사용한 여러 개의 sub 나무를 만들고 이 나무들의 결과를 평균을 내어 의사 결정을 내림 -> 훨씬 안정적인 결과
- 분석 속도가 빠름
- Tuning parameter: mtry
- mtry: sub 나무를 만들 때 사용할 predictor의 개수
실습
cross validation
controlObject <- trainControl(method = 'repeatedcv', # cross validation 반복 시행
repeats = 2, # 2번 시행
number = 5, # training 자료를 10조각 냄
classProbs = T)
grid 생성
rfGrid <- expand.grid(.mtry = c(4,6,8,10))
모형 학습
rfModel <- train(Class ~.,
data = Train_dat,
method = 'rf',
tuneGrid = rfGrid,
metric = 'Kappa',
ntrees = 1500,
importance = T, # 변수의 중요도
trControl = controlObject)
rfModel