[데이터마이닝] 7강. 배깅, 부스팅, 랜덤포레스트 R 함수 총정리

데이터마이닝 07강 | 배깅, 부스팅, 랜덤포레스트 R 함수 총정리

이번 강의에서는 앙상블 모형 분석을 위한 R 함수 사용법을 정리합니다.
특히 배깅, 부스팅, 랜덤포레스트 각각의 R 함수와 옵션을 상세하게 설명합니다.


배깅과 부스팅 R 함수

bagging() 함수

배깅 앙상블을 생성하는 함수

1
bagging(formula, data, mfinal=100, control)
cs
  • formula : 분석공식

  • data : 훈련 데이터

  • mfinal : 생성할 분류기 개수

  • control : 분할조건 (rpart.control)

predict.bagging() 함수

배깅 모형 예측 함수

1
predict.bagging(object, newdata)
cs
  • object : 배깅 오브젝트

  • newdata : 예측 데이터

importanceplot() 함수

변수 중요도 시각화

1
importanceplot(object)
cs

errorevol() 함수

분류기 개수에 따른 오분류율 변화 확인

1
errorevol(object, newdata)
cs

 

plot.errorevol() 함수

오분류율 변화 그래프

1
plot.errorevol(x)
cs

boosting() 함수

부스팅 앙상블 생성 함수

1
boosting(formula, data, boos=TRUE, mfinal=100, coeflearn=’Breiman’, control)
cs

1. boos (부스팅 방식 선택)

  • boos = TRUE
    표본추출 방식을 사용한다는 뜻.
    → 각 반복(iteration)마다 데이터에서 일부를 샘플링하여 학습에 사용함 (일종의 부트스트랩 샘플링).
    → 일반적으로 배깅(bagging)과 비슷한 느낌으로, 데이터 다양성을 높여 모델을 강하게 만듦.

  • boos = FALSE
    가중치 반영 방식을 사용한다는 뜻.
    → 표본을 샘플링하지 않고, 모든 데이터를 쓰되 각 샘플에 가중치를 부여해 학습한다.
    → 잘못 분류된 샘플에 더 높은 가중치를 주어 다음 모델이 집중해서 학습하도록 함.
    → 이것이 보통 부스팅(boosting)의 기본 개념.

2. coeflearn (분류기 중요도 계산 방법)

  • 부스팅 알고리즘에서 각 기본 분류기(weak learner)의 가중치를 어떻게 계산할지 결정함.

  • 'Breiman', 'Freund', 'Zhu' 중 선택, 각기 다른 부스팅 알고리즘에 따른 가중치 계산법

predict.boosting() 함수

1
predict.boosting(object, newdata)
cs

랜덤포레스트 R 함수

randomForest() 함수

랜덤포레스트 앙상블 생성 함수

1
randomForest(formula, data, ntree=500, mtry, importance=TRUE)
cs
  • ntree : 분류기 개수

  • mtry : 중간노드마다 랜덤 선택할 변수 개수

  • importance : 변수 중요도 계산 여부

importance() 함수

변수 중요도 계산 함수

1
importance(x, type=1)
cs
  • type=1 : 정분류율 감소값

  • type=2 : 불순도 감소값

predict() 함수

랜덤포레스트 예측 함수

1
predict(object, newdata, type=”response”)
cs
  • type : ‘response’, ‘prob’, ‘votes’

plot() 함수

오분류율 또는 MSE 그래프 출력

1
plot(x)
cs

varImpPlot() 함수

각 변수의 중요도(Variable Importance)를 시각적으로 보여주는 그래프

1
varImpPlot(x)
cs

partialPlot() 함수

랜덤포레스트 모델에서 특정 독립변수(x.var)가 예측 결과에 어떻게 영향을 미치는지
부분 의존 그래프(Partial Dependence Plot) 를 그려주는 함수

1
partialPlot(x, pred.data, x.var)
cs

중요내용 정리

  • bagging() : 배깅 앙상블 생성

  • boosting() : 부스팅 앙상블 생성

  • randomForest() : 랜덤포레스트 생성

  • predict() : 예측

  • importance() : 변수 중요도 계산

  • varImpPlot() : 중요도 바차트

  • partialPlot() : 변수 영향 시각화


객관식 문제 & 해설

Q1. 배깅 분석 시 사용되는 R 함수는?
① boosting()
② bagging()
③ randomForest()
④ predict()

정답:
해설: bagging() 함수는 배깅 앙상블을 생성하는 함수입니다.

Q2. 부스팅에서 표본추출 방식 설정 옵션은?
① control
② boos
③ mfinal
④ coeflearn

정답:
해설: boos=TRUE 설정 시 표본추출 방식, FALSE는 가중치 방식

Q3. 랜덤포레스트에서 변수 중요도 계산 함수는?
① predict()
② importance()
③ varImpPlot()
④ partialPlot()

정답:
해설: importance() 함수로 변수 중요도를 계산합니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다