데이터마이닝 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() 함수로 변수 중요도를 계산합니다.