비계층적 군집분석(k-means clustering) 참고글 : [데이터 분석] 계층적 군집 분석(hierarchical clustering) [R 분석] 계층적 군집 분석(hierarchical clustering) 비계층적 군집분석 k-means는 현업에서도 많이 사용된다고 합니다.계층적 군집 분석과 순차적으로 그룹을 할당하는지의 여부만 다를 뿐 굉장히 유사합니다. 계층적 군집은 말 그래도 순차적으로 데이터들을 군집화하지만, 비계층적 군집분석은 랜덤으로 데이터를 군집화하고 군집 과정에서 중앙값의 변화에 따라 각 데이터들을 적절한 클러스터로 이동시켜줍니다. 먼저 확인적 군집분석이라고 불리우는데, 계속해서 클러스터(그룹)의 중앙값을 계산하면서, 해당 클러스터 안에 있는 데이터의 그룹이 적절한지 계속해서 ..
계층적 군집 분석(hierarchical clustering) 수행 및 시각화 참고글 : [데이터 분석] 계층적 군집 분석(hierarchical clustering) hclust(d, method = "complete", members = NULL) # 1. 거리행렬 구하기> v1 d1 d1 1 2 3 42 2 3 5 3 4 9 7 4 5 17 15 12 8 # 2. 거리행렬 모델 적용> m1 m1 Call:hclust(d = d1, method = "average") Cluster method : average Distance : euclidean Number of objects: 5 ** method : 클러스터와 관측치와의 거리 계산 기준 - single : 최단거리법 - complete : 최장..
K-NN 알고리즘 적용 및 매개변수 튜닝 참고글 : KNN 알고리즘(이동) K-NN(K-Nearest Neighbors) 알고리즘은 새로운 관측치와 기존 데이터와의 거리 연산를 통한 분류가 목적이므로 train data / test data가 동시에 들어가는게 특징입니다. 또한, 알고리즘 자체에 predict() 기능을 보유하고 있어서 예측 및 평가에 predict 함수를 사용하지 않아도 자체적으로 수행해줍니다. install.packages("class")library(class)knn(train, # 모델 평가용 데이터 중 예측 변수 test, # 예측용 데이터 (예측을 훈련과 동시에 가능) cl, # 분류(class) 변수 k=n, # k 설정 (근접한 k개의 데이터까지 확인) prob=TRUE) ..
중요도가 높은 핵심 변수 선택하기 모델의 예측률을 높이기 위해, 중요도가 높은 설명변수만 모델에 적용시켜주는 것이 중요합니다. # 데이터 준비> library(caret)> rn train test table(train$Species) setosa versicolor virginica 35 35 35 > table(test$Species) setosa versicolor virginica 15 15 15 # 중요도가 높은 핵심 변수 선택하기 # 방법 1) randomForest 모델을 활용한 방법 > library(randomForest)> forest_m forest_m$importance MeanDecreaseGiniSepal.Length 6.270904Sepal.Width 2.207310Petal...
Random Forest 매개변수 튜닝 참고글 : [데이터 분석] Random Forest 알고리즘 [R 분석] Random Forest 알고리즘 > cancer table(cancer$diagnosis) Benign Malignant # 현재 cancer data는 class별 데이터가 불균등한 상태입니다. 357 212 ### 1. train set과 test set 분리(upsampling 수행)> library(caret)> data table(data$Class) Benign Malignant # class별로 데이터가 균등하게 분배 357 357 > library(doBy)> train_up table(train_up$Class) # train data set의 선택된 row number를 추..
[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) ..
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..