본문 바로가기

분류 전체보기

(116)
추천 시스템에서 사용되는 데이터 마이닝 기법-01 추천 시스템을 만들어보는 것이 이 책의 주된 목적이지만, 널리 사용되는 데이터 마이닝 기법을 살펴보는 것은 추천 시스템을 만드는 과정을 시작하기 전에 필요한 단계다. 이 장에서는 추천 시스템에서 널리 이용되는 데이터 전처리 기법(Data Preprocessing), 데이터 마이닝 기법, 데이터 평가 기법(Data Evaluating)을 배우게 될 것이다. 이 장의 첫 부분은 어떻게 데이터 분석 문제를 해결하는지 설명하고, 이어서 유사도 측정(Similarity Measure)과 차원 축소(Dimensionality Reduction) 같은 데이터 전처리 기법에 관해 설명한다. 그다음으로는 데이터 마이닝 기법과 평가 기법을 다룰 것이다. 유사도 측정에서는 다음 내용을 다룬다. 유클리디안 거리 코사인 거리 ..
국정원 트윗 텍스트 마이닝 텍스트 마이닝은 소셜 네트워크에 올라온 글을 통해 사람들이 어떤 생각을 하고 있는지 알아보기 위한 목적으로 자주 활용됩니다. 이번 실습에서는 '국정원 계정 트윗 데이터'를 이용해 텍스트 마이닝을 해 보겠습니다. 이 데이터는 국정원이 대선에 개입한 사실이 밝혀져 논란이 됐던 2013년 6월 독립 언론 뉴스타파가 인터넷을 통해 공개한 것입니다. 이 데이터는 국정원 계정으로 작성된 3,744개 트윗으로 구성되어 있습니다. 무작위로 나열된 것처럼 보이는 수많은 글 중에서 의도가 분명한 경향성을 발견할 수 있기 때문에 텍스트 마이닝을 연습하는 데 알맞은 데이터입니다. *참고* 원본은 뉴스타파 사이트(http://newstapa.tistory.com/598)에서 다운로드할 수 있습니다. 실습에 사용한 데이터는 이 ..
힙합 가사 텍스트 마이닝 문자로 된 데이터에서 가치 있는 정보를 얻어 내는 분석 기법을 '텍스트 마이닝(Text mining)'이라고 합니다. 텍스트 마이닝을 할 때 가장 먼저 하는 작업은 문장을 구성하는 어절들이 어떤 품사로 되어 있는지 파악하는 '형태소 분석(morphology Analysis)'입니다. 형태소 분석으로 어절들의 품사를 파악한 후 명사, 동사 형용사 등 의미를 지닌 품사의 단어들을 추출해 각 단어가 얼마나 많이 등자앴는지 확인합니다. 텍스트 마이닝을 통해 SNS나 웹 사이트에 올라온 글을 분석하면 사람들이 어떤 이야기를 나누고 있는지 파악할 수 있습니다. 텍스트 마이닝 준비하기 힙합 음악 가사를 이용해 텍스트 마이닝을 하는 방법을 알아보겠습니다. 1. 패키지 준비하기 한글 자연어 분석 패키지인 KoNLP(Ko..
CHAPTER 1. 정돈 텍스트(깔끔한 텍스트) 형식 정돈 데이터 원리(tidy data principles)를 따르면 이전보다 더 데이터를 아주 쉽고 효과적으로 처리할 수 있기는 하지만, 텍스트까지 쉽고 효과적으로 처리할 수 있다고 보기는 어렵다. 해들리 위컴(Wickham 2014)이 설명한 것처럼 정돈 데이터(tidy data)에는 특정한 구조가 있다. 각 변량(variable)이 1개 열을 구성한다. 각 관측(observation)이 1개 행을 구성한다. 관측 단위의 각 유형(type)은 1개 테이블을 구성한다. 따라서 우리는 정돈 텍스트 형식(tidy text format)이란 1개 행마다 1개 토큰이 있게 구성한 테이블(a table with one token per row)이라고 정의한다. 토큰(token)이란 분석을 위해 사용하고자 하는, 단..
한국인의 삶을 파악하라! -09 고령 사회가 되면서 노인들을 위한 시설을 마련하는 일이 점점 더 중요해지고 있습니다. 노인들을 위한 시설을 마련하려면 우선 어느 지역에 노인들이 많이 살고 있는지 알아야 합니다. 지역별 연령대 비율을 분석해 노년층이 많은 지역이 어디인지 알아보겠습니다. 분석절차 1. 변수 검토 및 전처리 - 지역, 연령대 2. 변수 간 관계 분석 - 지역별 연령대 비율표 만들기, 그래프 만들기 지역 변수 검토 및 전처리하기 1. 변수 검토하기 class(welfare$code_region) [1] "numeric" table(welfare$code_region) 1 2 3 4 5 6 7 2486 3711 2785 2036 1467 1257 2922 2. 전처리 code_region 변수의 값은 7개 권역을 의미하는 지역..
한국인의 삶을 파악하라! -08 이번에는 종교가 있는 사람들이 종교가 없는 사람들보다 이혼을 덜 하는지 분석해 보겠습니다. 먼저 종교, 혼인 상태 두 변수를 검토하고 전처리한 후 변수 간 관계를 분석하겠습니다. 분석 절차 1. 변수 검토 및 전처리 -종교, 혼인상태 2. 변수 간 관계 분석 -종교 유무에 따른 이혼율 표 만들기, 그래프 만들기 종교 변수 검토 및 전처리하기 1. 변수 검토하기 class(welfare$religion) [1] "numeric" table(welfare$religion) 1 2 8047 8617 2. 전처리 코드북의 종교 변수에 대한 정보를 바탕으로 전처리를 하겠습니다. 앞의 출력 결과를 보면 1과 2외에 다른 값이 존재하지 않습니다. 이상치를 결측 처리하는 작업은 생략하고 값의 의미를 이해할 수 있도록 ..
한국인의 삶을 파악하라! -07 성 평등이 상식인 세상이 됐지만 여전히 성별에 따라 다른 직업을 갖는 경향이 있습니다. 성별에 따라 어떤 직업이 많은지 분석해 보겠습니다. 성별, 직업 변수 전처리 작업은 앞에서 완료했으니 바로 변수 간 관계를 분석하겠습니다. 분석 절차 1. 변수 검토 및 전처리 -성별, 직업 2. 변수 간 관계 분석 -성별 직업 빈도표 만들기, 그래프 만들기 성별 직업 빈도 분석하기 성별 변수 전처리는 02, 직업 변수 전처리는 06에서 완료했으니 생략하고 변수 간 관계를 분석하겠습니다. 1. 성별 직업 빈도표 만들기 각 성별로 직업별 빈도를 구해 상위 10개를 추출하겠습니다. # 남성 직업 빈도 상위 10개 추출 job_male % filter(!is.na(job)&sex == "male") %>% group_by(..
한국인의 삶을 파악하라! -06 이번에는 직업별 월급을 분석해 보겠습니다. 먼저 직업 변수를 검토하고 전처리하겠습니다. 월급 변수 전처리 작업은 앞에서 완료했으니 생략하고 변수 간 관계를 분석하겠습니다. 분석 절차 1. 변수 검토 및 전처리 -직업, 월급 2. 변수 간 관계 분석 -직업별 월급 평균표 만들기, 그래프 만들기 직업 변수 검토 및 전처리하기 1. 변수 검토하기 먼저 직업을 나타낸 code_job 변수를 살펴보겠습니다. class(welfare$code_job) [1] "numeric" table(welfare$code_job) 111 120 131 132 133 134 135 139 141 149 151 152 153 159 211 212 213 2 16 10 11 9 3 7 10 35 20 26 18 15 16 8 4 3..