06.랜덤포레스트(RandomForest) in R
랜덤포레스트란 앞에서 배운 의사결정트리를 랜덤으로 만들어 나온 결과를 투표방식으로 예측하는 알고리즘 입니다.
그렇기 때문에 하나의 트리를 통해 분류하는 의사결정트리보다 높은 정확성을 갖는 강력한 알고리즘이라고 할 수 있습니다.
랜덤포레스트 모델을 생성할때 ntree(트리개수), mtry(변수개수)를 지정해주어야 합니다.
먼저 randomForest패키지를 install해주고 불러옵니다.
데이터셋은 R에서 기본으로 제공하는 iris데이터셋을 사용하겠습니다.
그다음 랜덤포레스트 모델을 생성한뒤
파라미터를 조정해주는 코드 입니다.
일단 ntree=300, mtry=4로 지정을 한뒤 모델을 생성해 보겠습니다.
model2를 실행시키면
다음과 같이 결과를 확인할 수 있습니다.
결과에서 confusion matrix를 통해 분류한 내용과
error rate를 확인할 수 있습니다.
다음은 변수중요도로 랜덤포레스트 모델을 생성하는 것입니다,
iris데이터는 변수가 4개밖에 되지않아서 큰 차이는없지만
변수가 많고 큰데이터는 변수중요도에 따라 error rate가 크게 변하기 때문에
변수 종요도로 생성해주는 것이 좋습니다.
importance = T를 추가해주면 됩니다.
랜덤포레스트는 모델을 생성할 때 파라미터를 입력을 해 주기때문에
어떤 파라미터가 높은 정확도를 갖는지 알수 없습니다.
그렇기 때문에 for문을 사용해서 최적의 파라미터를 찾을 수 있습니다.
이 코드를 돌리면 결과값이 쭉 출력되는데
그중 error rate가 낮은 파라미터값을 사용하면 됩니다.
'딥러닝 스터디' 카테고리의 다른 글
08.랜덤포레스트(randomForest) h2o 패키지 사용 in r (1) | 2017.06.23 |
---|---|
07.군집분석(k-means) in R (0) | 2017.06.18 |
05.의사결정트리(Decision Tree) in R (2) (2) | 2017.04.15 |
04.의사결정트리(Decision Tree) in R (1) (0) | 2017.04.15 |
03. 의사결정트리(Decision Tree) 란? (0) | 2017.03.19 |