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..
Data Table(데이터 테이블) 데이터 테이블은 성능과 관련해서 중요한 개념입니다. Table 구조의 데이터의 특정 컬럼별 주소값을 갖는 index를 생성하여 key를 통한 연산 및 검색을 빠르게 수행 데이터 색인 혹은 연산 시 인덱스를 설정한 테이블과 설정하지 않은 테이블의 성능 차이가 데이터가 방대해질 수록 커지기 때문에 대용량의 데이터 처리를 위해 인덱스는 필수! 입니다. 데이터 테이블(data table) : 인덱스(목차) 설정이 가능한 데이터 프레임 Key별로 가지고 있는 주소값을 통해 저장공간을 효율적으로 색인(인덱싱)할 수 있습니다. 데이터 테이블은 찾고자 하는 정보 기반으로 주소를 저장하기 때문에, 조건 연산 수행 시 가장 빠른 특징이 있습니다.특히, key를 통한 조건 검색(색인), ..
데이터 가공을 위한 주요 함수 정리 #. 데이터 색인 1. 벡터 c(요소1, 요소2, ...) - 정수 색인 : vec[5] - 이름 색인 : vec['b'] - 벡터 색인 : vec[c(1,3,5)] - 슬라이스 색인 : vec[1:5] - 조건 색인 : vec[vec$'PAY'>500] 2. 리스트 list (key1 = value1, key2 = value2, .. ) - 정수(키) 색인 : list[[1]][1] - 이름 색인 : list$name[1] or list[['name']][1] 3. 행렬 matrix(1:20, nrow=4, byrow = F(세로 채우기), T(가로 채우기)) - 정수 색인 : m[2,3] # 2행,3열 - 이름 색인 : m[2,c('b','e')] - 벡터 색인 :..
rank : 벡터 값들의 순위 출력 rank(x, # 벡터 na.last = TRUE, # na는 마지막에 출력 ties.method = # 동률 순위에 대한 계산 방법 ( defualt = average) c("average", # 각 순위의 평균으로 통일 "first", # 처음 오는 순서대로 1순위 (처음으로 발견된 데이터 우선) "last", # 마지막 데이터에 1순위 (마지막에 발견된 데이터 우선) "random", # 순서 상관없이 랜덤 "max", # 동률 순위 중 가장 높은 값 출력 "min")) # 동률 순위 중 가장 낮은 값 출력(대부분의 rank 구현 방법 ) > disease library(doBy) > disease$rank orderBy(~ 콜레라, disease) 월별 콜레라 ..
파이, 3D파이 그래프 그리기 파이 그래프 Pie : 파이 차트 그리기 pie(x, # 데이터 labels = names(x), # 각 파이의 이름 angle = 45, # 파이를 구성하는 각도 density = NULL, # 파이를 구성하는 수 col = NULL, # 파이 색상 radius = 0.8, # 원형의 크기 clockwise = FALSE, # 시계방향(TRUE), 반 시계방향(FALSE) init.angle = if(clockwise) 90 else 0, # 파이의 시작 각도 border = NULL, # 파이의 테두리 색상 lty = NULL, main = NULL, ...) # 45도 각도부터 시계 반대 방향으로 그래프가 시작됩니다. > v1 pct lab1 lab2 pie(v1,ra..
히스토그램 그래프 그리기 hist() : 히스토그램 그래프 그리기 (도수분포표 자동 계산 후 히스토그램 출력) hist(x, # 벡터 breaks = "Sturges", # 구간의 분기를 나타내는 벡터 include.lowest = TRUE, # 최소값의 포함 여부 right = TRUE) # 오른쪽 닫힘 여부, # left closed : 오른쪽 포함 (right = TRUE) 설정 시 x 초과 y 이하 구간으로 설정) # right closed : 왼쪽 포함 (right = FALSE 설정 시 x 이상 y 미만 구간으로 설정) col = NULL, # 히스토그램 color border = NULL, # 히스토그램 테두리 color main = paste("Histogram of" , xname), #..
데이터의 n번째 이전(이후) 행의 값 가져오기 data.table::shift() shift(x, # 벡터(원본 데이터) n=1L, # 몇 번째 이전(이후)값을 가져올지 지정 fill=NA, # 채울 값이 없을 경우 default값 설정 type=c("lag", "lead"), # 이전 값을 가져올지 이후 값을 가져올지 give.names=FALSE) # 값 이름 지정 ### delivery_02.csv 파일을 읽고> del str(del)> head(del) 일자 시간대 업종 시도 시군구 읍면동 통화건수1 20180201 0 음식점-족발/보쌈전문 서울특별시 강남구 논현동 52 20180201 0 음식점-족발/보쌈전문 서울특별시 강남구 역삼동 53 20180201 0 음식점-족발/보쌈전문 서울특별시 강서..