1 random forest 작업흐름도

random forest 방법론은 변수 선택, 변수 내 구분점, 결측값 처리 등을 자동으로 해주는 덕분에 앞부분에 변수(Feature)에 대한 별도 작업이 필요 없을 수도 있다. 하지만, 예측력이 뛰어나며 유지보수, 모형설명 측면 등을 고려했을 때 사전에 Dry-Run혹은 IV 방법론을 동원하여 예측모형 데이터 전처리 작업을 수행하는 것이 나름 의미가 있다.

Random Forest작업흐름도

3 예측모형 생성 - Dry-Run

3.1 사전 설정

일반화 선형모형이 갖는 장점중의 하나는 상대적으로 컴퓨팅 파워를 적게 필요로 한다는 점이다. 하지만, 이런 장점이 예측모형의 성능을 상대적으로 저하되는 원인이 되기도 한다. Random Forest 및 관련된 다양한 최신 예측 알고리즘은 예측성능은 뛰어나지만 이에 못지 않게 모형개발자가 해야 될 일은 컴퓨터가 대신하기 때문에 이에 대한 설정을 다음과 같이 한다.

  1. caret 팩키지를 활용하여 훈련데이터와 검증데이터로 분리한다.
    • Out-of-sample 모형 성능평가
  2. 훈련데이터를 모형데이터와 검증데이터로 분리한다.
    • In-sample 모형 과적합 방지
  3. 병렬컴퓨팅(멀티코어)
    • 부츠트랩 표본을 바탕으로 병렬처리를 통해 Random Forest 학습시간 단축

3.2 예측모형 생성/학습

본격적인 학습을 시작한다.

Aggregating results
Selecting tuning parameters
Fitting mtry = 20 on full training set
Time difference of 26.58866 secs

3.3 예측모형 중요정보

tuneLength=15를 통해 초모수(hyper parameter)에 대한 무작위 검색(random search)를 수행해서 mtry 값이 2라는 것을 찾아낸다. 그리고 중요 변수 10를 추려낸다.

  mtry      ROC      Sens       Spec      ROCSD      SensSD     SpecSD
1    1 0.818462 0.9929127 0.03393639 0.02614214 0.004830467 0.02725376

4 예측모형 생성 및 설명 1 2

4.1 변수중요도

xgboost, ranger, rpart… 모두 변수 중요도를 나타내는 함수를 갖고 있지만, 데이터도 다르고 함수명도 다르다. vip 팩키지는 이런 면에서 변수중요도를 기반 의사결정 나무모형과 독립적으로 변수중요도만 추출해 준다는 점에서 의미가 있다.