데이터마이닝 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()
함수
변수 중요도 시각화
errorevol()
함수
분류기 개수에 따른 오분류율 변화 확인
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)를 시각적으로 보여주는 그래프
partialPlot()
함수
랜덤포레스트 모델에서 특정 독립변수(x.var
)가 예측 결과에 어떻게 영향을 미치는지
부분 의존 그래프(Partial Dependence Plot) 를 그려주는 함수
중요내용 정리
-
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() 함수로 변수 중요도를 계산합니다.