-
R을 이용한 통계분석 - 2 (Textmining 에서의 데이터 전처리 & 종류별 데이터 import방법)Programming & Machine Learning/R X 머신러닝 2017. 7. 5. 02:02
1. 비정형 데이터 처리
- R 패키지 참고 : http://r4pda.co.kr/
텍스트와 음성, 이미지는 비정형 데이터라고 할 수 있다. 최근 머신러닝 분야에서 가장 활발하게 연구 및 개발이 이루어지고 있는 것들이 바로 이 비정형 데이터라고 할 수 있다. 비정형 데이터를 이용하여 인사이트를 도출하는 것이 데이터 분석 / 머신 러닝 분야의 가장 큰 화두인듯 하다.
1.1 텍스트 처리 : KoNLP를 이용
- 텍스트마이닝 전처리 과정
텍스트를 분석에 용이한 형태로 전처리 하기 위해서는, 가장 먼저 사전작업이 필요하다. 여기서 사전은 Dictionary를 의미한다. R Studio에서는 사전을 메모리상에 올린 뒤, MergeUserDic(discrete 되었다.) 으로 사전을 구성한다. 다음으로 텍스트를 pre-processing 해야하는데, 주로 소문자 변환, 유사단어 통일, 공백 제거 등의 과정이다.
# string to lower txt0 = str_to_lower(txt) # word unite txt1 = gsub("빅데이타", "빅데이터", txt0) txt1 = gsub("bigdata", "빅데이터", txt1) txt1 = gsub("big data", "빅데이터", txt1) txt1 = gsub("[[:digit:]]", "", txt1) txt1 = gsub("[[A-z]]", "", txt1) txt1 = gsub("[[:punct:]]", "", txt1) # txt1 = gsub("[a(\\d)+]", "", txt1) -> regular expression txt1 = gsub(" ", " ", txt1) txt2 = txt1[str_length(txt1)>1] # remove empty line
텍스트 전처리를 마쳤으면,
extractNoun (한글 형태소 분석의 경우)을 통해 간단한 텍스트 분석을 시행해보고
table을 이용해 결과를 확인해본다.
txt_e = extractNoun(txt2) txt_t = table(unlist(txt_e))
2. 각종 데이터 import 방법
data1 = read.table('clipboard', header = T) # for window data1 = read.table(pipe("pbpaste"), header = T) # for mac data2 = read.csv("data1.csv") str(data2) names(data2) = c("x1", "x2") # set column names # install.packages("xlsx") dyn.load("/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/server/libjvm.dylib") library(rJava) library(xlsx) data3 = read.xlsx("data1.xlsx", sheetIndex = 1, header = T)
3. 이미지 데이터 import 방법
dyn.load("/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/server/libjvm.dylib") # for mac library(rJava) install.packages("readbitmap") # even jpg, png possible library(readbitmap) bmp1 = read.bitmap("7.bmp") str(bmp1) dim(bmp1) jpg1 = read.bitmap("7.jpg") str(jpg1) dim(jpg1) png1 = read.bitmap("7.png") # png is 4dim for transparency dim(png1) bmp_m = matrix(bmp1, nrow=1, byrow = T) jpg_m = matrix(jpg1, nrow=1, byrow = T) png_m = matrix(png1, nrow=1, byrow = T)
'Programming & Machine Learning > R X 머신러닝' 카테고리의 다른 글
R을 이용한 머신러닝 - 2 (비선형 회귀분석) (0) 2017.07.11 R을 이용한 머신러닝 - 1 (선형 회귀분석) (1) 2017.07.11 R을 이용한 통계분석 - 4 (집단간 차이검정과 분산분석) (0) 2017.07.07 R을 이용한 통계분석 - 3 (R을 이용한 데이터 조작 및 가설검정 방법) (0) 2017.07.05 R을 이용한 통계분석 - 1 (기본 통계분석 실습과 rJava 환경설정 Window + Mac OS) (0) 2017.07.03 댓글