728x90

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가 낮은 파라미터값을 사용하면 됩니다.

 

 

+ Recent posts