[R 분석] Random Forest 알고리즘 참고글 : [데이터 분석] Random Forest 알고리즘 [R 분석] Random Forest 매개변수 튜닝 randomForest(x, y = NULL, # x, y 분리해서 적용 가능, 보통 formula를 많이 사용 xtest = NULL, ytest = NULL, # test 데이터셋을 같이 적용시키면 동시에 테스트를 수행(보통 같이 적용하지 않음) ntree = 500, # 트리의 개수 mtry = n, # 각 노드 설정 시 설명변수 후보 개수(후보군) replace = TRUE) # random forest는 default로 복원추출을 허용 > install.packages('randomForest')> library(randomForest) ..
Random Forest 알고리즘 참고글 : [R 분석] Random Forest 알고리즘 [R 분석] Random Forest 매개변수 튜닝 출처 : https://medium.com/@williamkoehrsen/random-forest-simple-explanation-377895a60d2d Random Forest 는 굉장히 중요한 !!! 알고리즘입니다. 먼저 Random Forest 알고리즘은 Decision Tree의 분류보다 정확도를 개선시키기 위해, 여러개의 나무를 생성하여 각각 나무의 예측을 총 조합하여 결론을 내리는 구조입니다. 현업에서도 현재까지 가장 많이 사용하고 있고, 분류 분석에서 이 알고리즘만 사용해도 될 정도로 쉽고, 성능이 매우 우수한 알고리즘이기 때문이죠 !!! Rando..
Decision Tree 매개변수 튜닝 참고글 : [데이터 분석] Decision Tree(의사결정 나무) 알고리즘 [R 분석] Decision Tree(의사결정 나무) 알고리즘 - rpart # 1. train data set과 test data set 분리 원본 데이터가 각 class별로 균등하지 않는 경우는 sampling 한 데이터도 균등하지 않기 때문에 균등하게 맞춰주는 것이 좋습니다.=> upsampling, downsampling을 통해 각 class별 데이터를 균등하게 만들어 놓고, train set과 test set으로 분리 필요 > sn train test library(party)> ctree_m ctree_m # 모델 확인 Conditional inference tree with 4..
조건부 추론 나무 조건부 추론 나무란 의사결정 나무(Decision Tree) + 통계적 유의성 확인(변수의 유의성) 가능한 수치를 제공해주는 Tree 입니다. Decision Tree(의사결정 나무) 알고리즘이란?(이동) 의사결정 나무 알고리즘에서 발생하는 두 가지 단점을 극복한 건강한(?) 나무입니다. - 통계적 유의성에 대한 판단 없이 노드를 분할하면서 생기는 과적합 문제 극복 - 다양한 값으로 분할 가능한 변수가 다른 변수에 비해 선호되는 문제 조건부 추론 나무를 통해, 통계적으로 컬럼별 중요도를 파악하고, 중요도가 큰 변수를 트리의 상위에 배치하여 인과관계를 조금 더 정확하게 판별할 수 있습니다. 1. 조건부 추론 나무 생성 및 시각화 ### 1. data sampling : train data..
원본데이터 내에 종속변수의 그룹 별 데이터 수가 균등할 경우 바로 sampleBy를 사용하여 바로 샘플링해줄 수 있지만ex) 종속변수 Group 컬럼의 A 그룹 데이터 = 100개 B 그룹 데이터 = 100개 원본데이터 내에 종속변수의 그룹 별 데이터 수가 균등하지 않다면 모델의 예측력이 떨어질 가능성이 높습니다.ex) 종속변수 Group 컬럼의 A 그룹 데이터 = 235개 B 그룹 데이터 = 100개 해결 방법으로 1. 데이터가 더 많은 그룹(A)의 데이터를 줄이거나, 2. 데이터가 더 적은 그룹(B)의 데이터를 반복(중복 사용)하여 데이터 개수를 균등하게 맞춰주어야 할 필요성이 있습니다. 보통 종속변수의 그룹(class) 별로 균등하게 분리된 데이터가 좋은 결과를 도출해준답니다 !!! #. 종속변수의..
지도학습을 위한 데이터 샘플링 지도학습과 비지도학습(이동) 1. Train data set, Test data set 으로 분리Train Data = 모델의 훈련을 위한 훈련용 데이터Test Data = 모델을 평가하기 위해 정답(결과)을 이미 알고있는 테스트용 데이터 *) caret::createDataPartition() 함수를 사용한 샘플링 가장 좋은 샘플링 방법 !!!# sampleBy 도 균등 샘플링이 가능하지만, 나머지 30%의 test data를 저장하기 위해 train data의 행 번호를 추출해야하는 번거로움이 있습니다. createDataPartition 함수는 이 모든 것을 한 번에 해결해준답니다.. Goood> library(caret)> rn train test table(trai..
Decision Tree in R (분류분석) Decision Tree(의사결정 나무) 알고리즘이란?(이동)지도학습을 위한 데이터 샘플링(이동)조건부 추론 나무 알고리즘(이동) > install.packages('rpart') > library(rpart) # Decision Tree 분석 및 시각화를 위한 패키지 ### 1. data sampling : train data set, test data set 분리> library(doBy) > train f1 rn test m m # 각 컬럼마다의 불순도 연산이 수행되므로 데이터가 커질수록 시간이 길어질 수 있음 n= 110 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root 110 ..
R, Oracle 연동 보통 현업에서 개인 컴퓨터로 서버 컴퓨터에 원격 접속하여 작업을 한다고 합니다. 서버 컴퓨터(성능 향상을 위해 GUI가 없는 유닉스를 사용)에 원격 접속을 할 경우 서버 컴퓨터의 R, Python, Oracle을 사용하게 됩니다.혹은 서버 컴퓨터에 접속하여 필요한 데이터를 긁어온 후 개인 컴퓨터로 가져와서 R, Python으로 분석을 수행할 수 있겠죠. 개인 컴퓨터의 R 에서 서버 컴퓨터의 Oracle에 접속하여 서버용 Oracle DB에 저장된 데이터를 가져오는 것이 목적이라면개인 컴퓨터에 Oracle client가 설치되어있어야 합니다. 단순히 데이터를 가져오기 위해 target DB에 접속할 목적 => Client (저장공간이 없고 오라클 접속만 가능하도록 하는 시스템)+ S..