RM 에서 R 사용하기
RapidMiner가 아무리 많은 Operator를 지원한다고 해도 R이 가진 무한 확장성을 따라갈 수는 없을 것입니다. 그래서 때로는 분석을 하다보면 RapidMiner에서 지원하지 못하는 부분을 R을 활용하여 해결해야 할 경우들이 있을 것 입니다.
우선 RapidMiner에서 R을 활용하기 위해서는 반드시 R이 설치 되어있어야 합니다.
그리고 RM의 Marketplace에서 R Script를 다운로드 하여 설치 합니다.
RM 재 실행 후 Settings – Preferences – Rscripting 에서 Rscript.exe 경로 선택 예시) C:\Program Files\R\R-3.3.1\bin\Rscript.exe
설정 후 TEST --> 성공 여부 확인
이제 Execute R을 이용해서 작업을 진행해 보도록 하겠습니다.
# 우선 가장 먼저 R에 data.table package가 설치되어야 합니다. 이유는 RM 의 Operator와
Execute R 간의 데이터 이동은 data.table class로 변환되어 이동 되기 때문입니다.
또한 RM에서 실행하고자 하는 스크립트는 반드시 rm_main이라는 function 안에서 실행이 되도록 작성되어야 합니다. rm_main 함수의 input argument에서 설정된 이름이 RM operator 에서 전달되는 데이터의 이름입니다. 그리고 return 되는 이름이 Execute R에서 RM으로 보내는 데이터의 이름입니다.
아래 예제에서는 R 의 KoNLP 의 NIADic를 이용해서 형태소 분석하는 작업을 해보고자 합니다.
먼저 영화 관람 후의 Review와 평점에 대한 데이터를 로딩 합니다.
그리고 Execute R을 연결하여 KoNLP 및 plyr를 로딩하고 NIADic를 사용하여 해당 데이터를 형태소 분석 해서 다시 결합하는 과정을 R로 실행 합니다.
결과를 확인 해 보면 원 데이터에 조금은 정제되어 단어별로 구성되어 있음을 확인 할 수 있습니다.
만들어진 결과가 생각 보다는 만족스럽지는 않습니다만은 RM에서 R이 어떻게 서로 호환 되는지에 대해서는 알 수 있는 내용이지 않았나 생각됩니다.
가장 중요한 것은 RM에서 전달되는 데이터는 data.table이라는 것입니다. 그렇기 때문에 R에서 기본 class인 data.frame으로 변환을 해서 작업 하는 것이 조금 더 에러를 줄일 수 있을 것 입니다.