페이지

2018년 7월 1일 일요일

2. 데이터 수집 파이브 라인

데이터 수집은 다음과 같이 다양한 출처에서 입력 데이터 포함된 아티팩트(artifact)를 획득하고, 아트팩트에서 데이터를 추출하며, 추출한 데이터를 추가적인 처리에 적합한 형태로 변환하는 것이다.

데이터를 얻는데 주로 사용하는 출처 세가지는 인터넷(즉, 월드 와이드 웹), 데이터베이스, 로커 파일(다른 프로그램으로 만들거나 인터넷에서 내려받은 파일)이다. 다른 파이썬 프로그램을 사용해 만들거나 '압축(pickled)'한 파일도 역시 로컬 파일이다('UNIT 12. pickle로 데이터 압축하기'에서 더 자세히 알아보자).

아티팩트에 들어 있는 포맷은 매우 다양하다. 다음 장부터 가장 인기 있는 데이터 포맷들을 다루는 방법을 자세히 알아볼 것이다.

- 자연어로 된 비정형 플레인 텍스트 데이터(영어나 중국어)
- 정형 데이터
   - 쉼표로 구분된 텍스트(CSV) 파일 형식의 데이블형 데이터
   - 하이퍼텍스트 마크업 언어(HTML)나 다목적 마크업 언어(XML)로 된 태그 데이터
   - JSON(JavaScript Object Notation) 형식의 태그 데이터

추출한 데이터의 원래 구조, 추가적인 처리의 목적과 특성에 따라 이 책에 수록된 예제에서 사용한 데이터의 파이썬에 내장된 데이터 구조(리스트와 딕셔너리)나, 특수한 연산(numpy 배열이나 pandas 데이터 프레임)을 지원하는 고급 데이터 구조로 표현한다.

필자는 데이터 처리 파이프라인(원천 데이터의 수립, 전처리, 변환, 기술 통계의 탐색적 데이터 분석, 데이터 모델링과 예측)을 완전히 자동화하려고 노력했다.
인터팩티브 GUI도구는 가급적 사용하지 않는데, 배치(batch)모드에서 실행하기가 쉽지않고 작동 로그를 남기지 않기 때문이다. 필자는 모듈성, 재사용성, 복구용이성을 높이려고 긴 파이프라인을 작은 서브 파이브라인으로 쪼개 중간 결과를 pickle이나 JSON 파일로 저장할 것이다.

파이프라인 자동화는 자연스럽게 재사용 가능한 코드로 이어진다. 재사용 가능한 코드를 사용하면 별도의 상호 작용 없이도 누구나 원천 데이터로 보고서에 기록된 최종 결과물을 얻을 수 있다. 다른 연구자들은 재사용 가능한 코드로 여러분의 모델과 결과를 검증하고, 여러분이 개발한 프로세스를 적용해 문제를 해결할 수 있다.

댓글 없음: