시각화 참고글 :[R 시각화] 막대 그래프 그리기 - BarPlot[R 시각화] 선 그래프 그리기 - Line Plot[R 시각화] 히스토그램 그래프 그리기 - histogram plot[R 시각화] 파이, 3D파이 그래프 그리기 - pie, pie3D plot #. plot 차트 주 옵션xlim = c(0, 10) : x축 범주(눈금) (limit) ylim = c(0, 10) : y축 범주(눈금) type = ' ' : 그래프 타입plot(x1, type = 'o')plot(x1, type = 'l')plot(x1, type = 'b')... lty = ' ' : 그래프 선 모양 (line type) plot(x1, type = 'o', lty=0) # lty="blank" plot(x1, type ..
참고글 : [Statistics] 확률 기초 용어 정리(확률분포, 이항분포, 정규분포) #. 이항분포 in Rdbinom(x = 이산형 확률변수, size = 수행횟수, prob = 성공확률) # 동전을 10회 반복하여 던질 때, 앞 면이 나오는 사건, 각 확률변수가 취하는 분포 확인 n choose(10,1) * (0.5)^1 * (0.5)^9 # P(X=1) [1] 0.009765625 # 1번 성공할 경우의 수 {앞뒤뒤뒤뒤뒤뒤뒤뒤뒤}, {뒤앞뒤뒤뒤뒤뒤뒤뒤뒤}, {뒤뒤앞뒤뒤뒤뒤뒤뒤뒤}, .. > choose(10,2) * (0.5)^2 * (0.5)^8 # P(X=2) [1] 0.04394531 ... > choose(10,10) * (0.5)^10 * (0.5)^0 # P(X=10) [1] 0.00..
계층적 군집 분석(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 : 최장..
KNN (K-Nearest Neighbors) 알고리즘 참고글 : [R 분석] K-NN 알고리즘 적용 및 매개변수 튜닝 KNN 알고리즘은 거리기반 분류분석 모델입니다.'기존 데이터와 특성이 비슷하면 새로운 데이터도 저들과 비슷하지 않을까?' 라는 고안으로 나온 알고리즘이라고 합니다. 예측을 하고자하는 새로운 관측치(데이터)와 이미 정답이 있는 기존 관측치(데이터) 사이의 거리를 계산하여,가장 가까운 K개 관측치들의 Class(범주, 그룹)를 확인하여 예측하게 됩니다. 여기서 기존 관측치의 Y값(Class)이 존재한다면 KNN 알고리즘으로, 기존 관측치의 Y값(Class)이 존재하지 않는다면 군집분석 Clustering 알고리즘으로 구분됩니다. 위 그림을 예로 들면, 중앙에 새..
데이터 그룹 연산을 위한 주요 함수 정리 1. apply 계열 적용 함수 1. apply(matrix, margin, function, ...) : '행/열별' 함수에 반복적 적용(연산)의 위해 사용 => 그룹함수 연산 - 2차원 구조 적용 가능, 벡터에 적용 불가 - 행별, 열별 연산을 위해 만들어짐 - 그룹함수의 적용과 함께 사용 가능 - 행/열별 "벡터"로 묶어서 함수에 전달하므로 함수는 하나의 인자를 가져야 함 > m1 apply(m1,1,sum) # 행별 sum[1] 12 15 18> apply(m1,2,sum) # 열별 sum[1] 6 15 24 2. lapply(list, function) : '원소별' 함수에 반복적 적용(연산)을 위해 사용 (리스트로 리턴) - 리스트와 데이터 프레임(ke..
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를 추..