8장 - 자연어 처리 시작하기¶자연어 처리는 데이터 분석이 인기를 끌고 있는 요즘 이론적 배경에 대한 이해는 부족하더라도 자연어 처리 모듈의 일부 기능을 사용하는 빈도가 조금씩 많아지고 있다. 자연어 처리 전문가가 아니더라도 웹 데이터를 다루다 보면 정형화된 데이터에서 단순 텍스트 분석등의 역할에 대한 니즈가 있다. 8-1 한글 자연어 처리 기초 - KoNLPy 및 필요 모듈의 설치¶ 한글 자연어 처리를 파이썬으로 하는 것을 도와주는 모둘은 Lucy Park 이라는 분이 개발한 KoNLPy 모듈이 필수이다. 8-2 한글 자연어 처리 기초¶ In [1]: from konlpy.tag import Kkma kkma = Kkma() 먼저 꼬꼬마 모듈을 사용할 수 있게 한다. In [2]: kkma.senten..
7장-시계열 데이터를 다뤄보자¶ 데이터를 다룬다는 말 속엔 다양한 분야와 응용을 담고 있다. 그런데 데이터가 시간의 흐름에 따라 변화하는 추이가 있는 데이터, 대표적으로 웹트래픽이나 주식같은 데이터를 예측해야 할 때가 있다. 시계열 분석이라는 것은 통계적으로 어렵고 복잡하다. 원 데이터의 안정성을 판정하고, 안정한 형태로 변환하고, 예측 모델을 선정하고 검증하는 과정이 통계학의 깊은 지식을 요구한다. 하지만 여기서 유용한 도구를 하나 소개하겠다. 바로 페이스북에서 만든 fbprophet 이라는 모듈이다. 7-1 Numpy의 polyfit으로 회귀 분석하기¶ In [9]: import warnings warnings.filterwarnings("ignore") import pandas as pd impor..
6장 - 19대 대선 결과 분석¶대선이나 총선, 지방선거 등의 자료는 대부분 중앙선거관리위원회에 들어가면 아주 손쉽게 데이터를 구할 수 있다. 6-1 selenium과 Beautiful Soup를 이용한 데이터 획득 준비 작업¶ In [1]: import pandas as pd import numpy as np import platform import matplotlib.pyplot as plt %matplotlib inline from matplotlib import font_manager, rc plt.rcParams['axes.unicode_minus'] = False if platform.system() == 'Darwin': rc('font', fami..
5장 - 우리나라 인구 소멸 위기 지역 분석¶이번에는 우리나라의 인구 소멸 위기 지역에 대해 조사하겠다. 인구 소멸 위기 지역을 시각화 해서 위기감을 일으키는 것이 목적이다. 그러기 위해서는 이전에 했던 서울시 지도가 아니라 대한민국 지도가 그려져야 한다. 5-1 목표 명확히 하기¶‘한국의 지방소멸에 관한 7가지 분석’보고서를 쓴 이상호 한국고용정보원 연구원의 분석 방법을 이용하여 65세 이상 노인 인구와 20∼39세 여성 인구를 비교해 젊은 여성 인구가 노인 인구의 절반에 미달할 경우 ‘소멸 위험 지역’으로 분류하는 방식이다. 5-2 인구 데이터 확보하고 정리하기¶데이터 확보를 위해 국가 통계포털에 접속하자. 포털에 받기에는 너무 과정이 복잡하고 시간을 단축하기 위해 (데이터 출처: https://gi..
4장 - 셀프 주유소는 정말 저렴할까¶이번 장에서는 아주 간단한 질문에 답하는 것을 함꼐 해보려 한다. 누군가 셀프 주유소는 정말 저렴한가? 에 대해 물었다면 데이터를 만지는 사람들은 어떻게 할까? 답은 바로 주유소의 가격을 조사해서 셀프 주유소와 아닌 주유소를 구분해서 비교하면 된다. 앞서 우리는 BeautifulSoup를 사용했다. 그걸로도 많은 일을 할 수 있다. 하지만 몇가지 문제로 인해 BeautifulSoup만으로는 접근할 수 없는 인터넷 정보가 있다. 그래서 사용하는 것이 바로 Selenium 이다. 우선 주유소의 가격을 비교하는 정부 사이트인 Opninet에 접속해서 정보를 모아야 한다. In [25]: from selenium import webdriver 먼저 selenium 에서 we..
3-10 네이버 영화 평점 기준 영화의 평점 변화 확인하기¶ 네이버에서는 영화 평점을 보여주는 사이트가 있다. 여기서는 인기 있는 영화를 알아볼 수도 있지만 지난 날짜의 인기도 확인할 수 있다. In [1]: from bs4 import BeautifulSoup import pandas as pd In [3]: from urllib.request import urlopen url_base = "http://movie.naver.com/" url_syb = "movie/sdb/rank/rmovie.nhn?sel=cur&date=20170804" page = urlopen(url_base+url_syb) soup = BeautifulSoup(page, "html.parser") soup Out[3]: 메인 ..
3장 - 시카고 샌드위치 맛집 분석¶3-1 웹 데이터를 가져오는 Beautiful soup 익히기¶앞서 2장까지 우리가 다룬 데이터는 엑셀이든 텍스트든 파일의 형태였다. 이제 3장부터는 데이터를 인터넷에서 직접 얻는 과정을 이야기하려 한다. 1,2 장과는 달리 이번 장은 인터넷에서 웹 페이지의 내용을 가져오는 Beautiful Soup 이라는 모듈의 기초를 익히고, 이번 장의 목표인 시카고 샌드위치 맛집 리스트를 정리하려 한다. In [1]: from bs4 import BeautifulSoup BeautifulSoup에서 bs4를 import 한다. In [2]: page = open("/home/jaeyoon89/DataScience/data/03. test_first.html",'r'..
2-7 좀 더 편리한 시각화 도구 - seaborn¶ seaborn이라는 단어의 시각화 도구가 있다. Matplotlib과 함께 사용하는 것인데 정말 괜찮다. 이 모듈은 터미널에서 pip install seaborn으로 설치하면 된다. In [32]: import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns x = np.linspace(0,14,100) y1= np.sin(x) y2=2*np.sin(x+0.5) y3=3*np.sin(x+1.0) y4=4*np.sin(x+1.5) plt.figure(figsize=(10,6)) plt.plot(x,y1, x,y2, x,y3, x,y4) plt.show() 간단하게 몇 개의 사인 함수를..
2장 - 서울시 범죄 현황 분석¶ 2-1 데이터 획득하기¶ (데이터 출처: https://github.com/PinkWink/DataScience) 위에 github 에서 배포되는 데이터를 활용하여 실습해 보자. In [1]: import numpy as np import pandas as pd 2-2 pandas를 이용하여 데이터 정리하기¶ 먼저 numpy와 pandas는 항상 import 하는 모듈이라 생각하면 된다. 이제 다운받은 데이터를 pandas로 읽어보자. crime_anal_police 라는 변수에 저장한다. In [2]: crime_anal_police = pd.read_csv('/home/jaeyoon89/DataScience/data/02. crime_in_Seoul.csv', tho..
1장 - 서울시 구별 CCTV 현황 분석¶1-1 CCTV 현황과 인구 현황 데이터 구하기¶서울시의 CCTV 현황은 구글 검색만으로도 쉽게 구할 수 있다. '서울시 자치구 연도별 CCTV 설치 현황'을 검색하면 '서울 열린데이터 광장' 사이트의 해당 페이지로 갈 수 있다. csv 파일은 콤마로 구분된 파일이다. 우리나라에서는 잘 통용되지 않지만 외국 자료를 검색하다 보면 자주 나타난다. 텍스트 파일이기 때문에 메모장에서도 열린다. 그런데 만약 csv 파일에 한글이 UTF-8로 인코딩되어 있다면 엑셀에서 열었을때 한글이 깨져 보일 수 있다. 나는 위 책의 나와있는 github에서 data를 다운 받았다. (데이터 출처: https://github.com/PinkWink/DataScience) 1-2 파이썬에..