"실세계에 존재하는 데이터는 때로는 값이 존재하지 않고 때로는 뒤틀려 있어 분석 알고리즘을 바로 적용할 수 없는 경우가 많다. 그래서 데이터 분석 전에 반드시 데이터 전처리 과정을 거쳐야 한다. 데이터 전처리를 통해 비어 있는 데이터를 채우기도 하고, 잡음 섞인 데이터를 정제하기도 하고 분석하기 좋은 모양(구조)로 바꾸기도 한다. 때로는 분석할 데이터량이 너무 많아 분석 대상 데이터를 줄이거나 수많은 분석 차원에서 핵심요소만 뽑아야 하는 경우도 있다."

 

[목차] 

머리말

여는 장 개발환경구축

제1장 데이터 전처리 개요

제2장 데이터 정제

제3장 데이터 통합

제4장 데이터 축소

제5장 데이터 변환

제6장 Case Study: 취업률 관점에서의 대학정보

부록

 

Python과 SQL을 활용한 실전 데이터 전처리 책 표지

 

 

데이터 전처리 방법론 : 정제/통합/축소/변환 

 

Python →

Anaconda(Anaconda Navigator, Anaconda Prompt, Jupyter Notebook) →

Tensorflow →

PyCharm (IDLE) →  

Install Package 

  - cx_Oracle [6.2.1]  오라클 DB연동

  - pandas [0.23.0] 데이터프레임 활용

  - numpy [1.14.2] 수학 과학 연산

  - matplotlib [2.2.2] 차트 플롯 등 시각화 

  - scipy [1.1.0] 선형회귀분석, 카이제곱검정, 엔트로피계산 등 데이터 분석 

  - scikit-learn [0.19.1] 머신러닝 교육 및 실무 

  - ipython [6.4.0] ipython 디스플레이와 관련된 public API 활용

  - PyWavelets [0.5.2] Discreate Wavelete Transform 패키지 

 

데이터 품질 저하 요인 

  - 불완전 incomplete : 데이터가 비어 있는 경우. 속성 값 NULL

  - 잡음 noisy : 데이터에 오류가 포함된 경우 error [ex) 나이= -20]

  - 모순 inconsistent : 데이터 간의 정합성이 없는 경우 (예를 들어 성별은 남자인데 주민번호 첫 자리가 2인 경우)

 

데이터 품질이 높아도 데이터 전처리를 해야 하는 경우가 많다. 

데이터의 구조적 형태가 분석 목적이나 분석 기법에 적합한 경우가 드물기 때문

 

예를 들어 사진을 서비스하고 앨범을 만들어주는 사이트가 있다. 

여기서 어떤 사진이 많이 조회되고 사진들끼리의 연관 조회 현황을 파악하고자 Apache access log 웹로그를 분석하고자 한다면, 이 웹로그의 포맷 그대로 통계나 데이터마이닝 분석 기법을 적용할 수는 없다. 

최소지지도minimum support 0.6 이상인 빈발항목 frequent itemset을 찾고, 

빈발항목을 대상으로 연관규칙을 조합한 다음 

최소신뢰도minimum confidence 0.8 이상인 연관규칙만 선택해야 한다. 

 

예의 위 웹로그를 대상으로 사진들과의 조회 연관성 분석을 위해 필요한 데이터 전처리 

1. back-end의 데이터베이스가 어떻게 매개되어 있는지부터 파악한다. 클라이언트 요청 URL에 존재하는 module과 parameter의 성격을 파악해야 한다. : 사진 정보를 특정하기 위해서 oid, category, theme 등이 필요하다는 식.

2. log filtering을 통해 사진 조회와 직접적인 관련이 없는 로그를 제거한다. 

3. log parsing을 통해 사진 정보 DB 조회를 위해 필요한 파라미터 값 추출 

4. 파싱으로 얻은 파라미터 값을 조건으로 사용하여 사진 정보 DB를 조회하고 조회된 사진의 키 값으로 조회 사진 itemset을 구성한다.  

....


 

 

초반 내용은 대충 위와 같은 식인데 

친절하고 침착하게 설명해 주심

몇 년 전 버전들이긴 하지만 과정을 살펴보기에 좋을 것 같다 

해야 할 게 많아서 조금 밀림 🙄

 

 

+ Recent posts