본문 바로가기

데이터 분석11

웹 크롤링 with Python 4장 웹 크롤링 with Python 4장 웹 크롤링을 통해 자연어를 읽고 쓰는 기능을 수행할 수 있다. 이는 웹 크롤링 파트에서 데이터를 분석하는 부분에 속한다고 볼 수 있다. 웹에서 자연어로 구성된 데이터를 가지고 와서 이를 우리가 원하는 결과물로 바꾸어주는 과정을 의미한다. 또한 일반적으로 구글이나 네이버와 같은 검색 엔진을 통해 우리가 원하는 정보를 찾는데 이런 과정이 어떻게 진행하는지에 대해서도 알 수 있게 된다. 검색창에 자연어를 입력하였는데 어떻게 해서 우리가 원하는 결과물로 잘 도달할 수 있는지가 바로 웹 크롤링의 과정에 속하게 된다. 우선 웹 상에 있는 자연어 데이터에는 불필요한 정보들이 매우 많다. 우리는 이러한 정보를 정리하고 필요한 정보만을 추출할 필요가 있다. 그래서 n-그램의 방법과 .. 2017. 7. 13.
웹 크롤링 with Python 3장 웹 크롤링 with Python 3장 문서 인코딩은 애프리케이션이 그 문서를 읽는 방법을 지정한다. 모든 문서는 근본적으로 0과 1로 인코딩되어 있다. 인코딩 알고리즘을 통해 문서에 대한 다양한 정보가 저장된다. 다양한 언어나 숫자에 대한 정보를 저장하고 출력하기 위해서는 UTF-8에 대한 것을 알아야한다. 원래 영어를 사용하는 입장에서는 ASCII를 사용하게 되면 인코딩을 쉽게 할 수 있었다. 하지만 다른 나라의 언어를 담고 있지는 못했다. 이에 대해 Universal Character Set Transformation Format – 8 bit로 UTF-8을 사용하여 인코딩을 하면 모든 글자를 표현할 수 있게 된다. CSV 파일을 읽는 방법은 다양하다. 원하는 파일을 직접 내려받은 후 파이썬에 그 파.. 2017. 7. 11.
웹 크롤링 with Python 2장 웹 크롤링 with Python 2장 웹 크롤러라는 이름은 웹을 크롤링하기 때문에 붙여진 이름이다. 그 핵심은 재귀이다. 웹 크롤러는 URL에서 페이지를 가져오고, 그 페이지를 검사해 다른 URL을 찾고, 다시 그 페이지를 가져오는 작업을 무한히 반복한다. 하지만 웹 크롤러를 사용할 때는 반드시 대역폭에 세심한 주의를 기울여야 하며, 타켓 서버의 부하를 줄일 방법을 강구해야 한다. API는 애플리케이션 프로그래밍 인터페이스로 서로 정보를 공유해야 하는 소프트웨어 사이에서 국제어 구실을 하도록 디자인된 인터페이스이다. API가 요청을 보낼 때는 HTTP를 통해 데이터를 요청하며 API는 이 데이터를 XML이나 JSON 형식으로 반환한다. HTTP를 통해 웹 서버에 정보를 요청하는 방법은 GET과 POST가.. 2017. 7. 11.
웹 크롤링 with Python 1장 웹 크롤링 with Python 1장 웹 브라우저는 패킷을 만들고, 보내고, 돌아온 데이터를 해석해 사진, 소리, 비디오, 텍스트 등으로 표현하는 매우 유용한 애플리케이션이다. 웹 브라우저는 코드이기 때문에 코드는 떼어내서 기본 구성 요소를 나누고, 다시 만들고, 재사용하고, 원하는 어떤 것으로든 바꿀 수 있다. 웹 크롤링은 웹 브라우저로부터 우리가 가공하고 싶은 데이터를 가져오는 과정이다. 여기에서는 가져오는 과정과 저장하는 과정, 다시 불러오는 과정 등등이 포함되어 있다. urllib 라이브러리는 파이썬의 표준 라이브러리로 웹을 통해 데이터를 요청하는 함수, 쿠키를 처리하는 함수, 심지어 헤더나 유저 에이전트 같은 메타데이터를 바꾸는 함수도 있다. urllib 라이브러리의 함수 중에서 urlopen은.. 2017. 7. 11.
데이터 분석 with Python 3장 - Matplotlib를 활용한 데이터 분석 - 데이터 분석 with Python 3장- Matplotlib를 활용한 데이터 분석 - Matplotlib은 numpy 혹은 pandas를 통해 얻은 데이터에 대한 분석 결과를 시각화시키는데 사용하는 라이브러리이다. Matplotlib은 DataFrame 혹은 Series 형태의 데이털르 가지고 다양한 형태의 플록을 만들어 주는 기능을 가지고 있다. Matplotlib를 설치하는 방법은 cmd 프로그램이나 터미널에 pip install matplotlib라는 명령을 입력해주면 쉽게 설치가 가능하다. Matplotlib를 사용하기 위해서는 Python에서 %matplotlib이라는 매직 명령어를 통해 플롯팅 옵션을 먼저 지정해야한다.(ipython에서 사용하는 경우) %matplotlib nbagg를 실행하.. 2017. 6. 11.
데이터 분석 with Python 2장 - Pandas를 활용한 데이터 분석 - 데이터 분석 with Python 2장- Pandas를 활용한 데이터 분석 - Pandas는 교유하게 정의한 Series 및 DataFrame 등의 자료 구조를 활용하여 빅데이터 분석에 있어 우수한 성능을 발휘하는 모듈이다. 기존에 엑셀로 하던 모든 분석을 더 큰 스케일의 데이터에 대하여 더 빠른 속도로 적용할 수 있는 장점을 가지고 있다. Pandas를 설치하는 방법은 cmd 프로그램이나 터미널에 pip install pandas라는 명령을 입력해주면 쉽게 설치가 가능하다. Pandas를 사용하기 위해서는 Python에서 import를 시켜 주어야한다. import Pandas as pd 로 명령을 넣어서 pd라는 이름을 통해 Pandas 모듈을 사용할 수 있는 상태로 만든다. Pandas의 대표적인 .. 2017. 6. 9.
데이터 분석 with Python 1장 - NumPy를 활용한 데이터 분석 - 데이터 분석 with Python 1장- NumPy를 활용한 데이터 분석 - NumPy는 주요한 python 데이터 분석 라이브러리의 기본 베이스가 되는 라이브러리로 벡터 및 행렬 연산과 관련하여 편리한 인터페이스를 제공한다. NumPy를 설치하는 방법은 cmd 프로그램이나 터미널에 pip install numpy라는 명령을 입력해주면 쉽게 설치가 가능하다. NumPy를 사용하기 위해서는 Python에서 import를 시켜 주어야한다. import numpy as np 로 명령을 넣어서 np라는 이름을 통해 numpy 모듈을 사용할 수 있는 상태로 만든다. NumPy는 기본적으로 array라는 단위로 데이터를 관리한다. 이러한 데이터를 활용해서 다양한 연산을 할 수 있고 이를 통해 데이터 분석을 할 수 .. 2017. 6. 9.
데이터 마이닝4 - 분석 기법 및 모형 평가 - 데이터 마이닝4- 분석 기법 및 모형 평가 - 분석 기법 중에서 사례 기반 추론 방법이 있다. 사례 기반 추론은 Case-based Reasoning으로 CBR이라고 불리는데 k-NN 알고리즘을 이용하여 검색된 유사 과거 사례들을 조합하여 새로운 문제에 대한 해를 도출하는 방법이다. 대표적인 예시로 대법원에서 판례집을 이용하는 경우라고 할 수 있다. 기존의 사건들을 일정한 규칙을 통해 case base라는 공간에 보관한다. 만약 새로운 사건이 발생했을 때 case base에 물어보고 어떻게 문제를 해결해야할 지를 결정하는 것을 말한다. 계속해서 다양한 case들이 쌓이게 되면 더욱 유용한 정보를 많이 가지고 있게 되어 더 좋은 결과를 도출할 수 있다. 로지스틱 회귀분석은 두 개의 집단을 분류하는 기준을 .. 2017. 5. 5.
데이터 마이닝3 - 데이터 마이닝 분석 기법 - 데이터 마이닝3- 데이터 마이닝 분석 기법 - 데이터 마이닝을 사용하는 분석 기법들의 종류는 다양하다. 이에 대해 간단하게 살펴볼 것이다. 연관 규칙 분석에는 Association Rules이라는 규칙이 있다. Association Rules 대규모의 데이터 항목들 중에서 유용한 연관성과 상관관계를 찾는 기법이다. 상품 또는 서비스간의 관계를 살펴보고, 이로부터 유용한 규칙을 찾아내고자 할 때 이용한다. 함께 구매하는 상품의 조합이나 서비스 패턴을 발견하고 싶을 때 많이 사용하여 장바구니 분석이라고도 불린다. 예를 들어 감자 칩을 구입하는 고객의 40%는 콜라도 함께 구입한다. 목요일 저녁 맥주 구입 고객의 30%는 기저귀도 함께 구입한다. 와 같은 연관성을 분석하는 기법을 말한다. 확률 값을 보고 제일.. 2017. 5. 3.
데이터 마이닝2 - 데이터 마이닝 분석 절차 - 데이터 마이닝2- 데이터 마이닝 분석 절차 - 데이터 마이닝 분석 철차에 대해서 알아보도록 하자. 데이터 마이닝 분석하기 위해서 먼저 적용 업무에 대한 정의가 필요하다. 어떠한 업무에 사용하기 위해서 데이터 마이닝을 사용하는지에 대해 먼저 판단을 만들어야 한다. 그 후 어떤 데이터를 사용할지를 선택해야한다. 원천 데이터를 선택하는 것이다. 데이터를 선택한 후 이 데이터로부터 우리가 직접적으로 사용하고자 하는 데이터를 끄집어 내야한다. 데이터 클리닝, 코딩, Enrichment 등을 통해 원천 데이터로부터 우리가 직접 사용하고자 하는 데이터를 가지고 나와야한다. 이 후 데이터 마이닝 툴을 선정한다. 데이터 마이닝을 하는 방법에는 여러 가지 방법이 있다고 했다. 이러한 통계적 다양한 방법들 중 우리 데이터에.. 2017. 5. 2.