책소개
데이터 과학 분야에는 80/20 법칙이라는 개념이 있다. 엄밀한 의미에서 법칙이라기 보다는 경험적인 관찰에 가까운 것인데, 데이터 분석 작업을 수행하는 과정에서 소비되는 자원(시간과 인력) 중 실제 모델링과 분석 작업에 들어가는 자원은 20%밖에 되지 않고, 80%의 자원은 데이터를 찾고, 정제하고, 재구성하는 작업에 소비된다는 것이다. 데이터는 늘 모자라고, 기껏 수집한 데이터는 누락된 내용이 있고 형식이 맞지 않는다. 분석 결과는 직관과 들어맞지 않는데, 아무래도 데이터에 이상한 값이 포함된 탓 같다. 실제 데이터 분석 작업을 수행해 본 사람이라면 누구나 이러한 생각에 공감할 것이다.
우리가 대부분의 수업에서 다루는 예제 데이터들은 시행착오를 줄일 수 있도록 대체로 전처리 작업이 완료된 ‘깨끗한’ 데이터이다. 이 교재에서는 보다 현실적인 ‘더러운’ 데이터들을 수집하고, 수집한 데이터들을 분석 목적에 부합하도록 정제하는 전처 리 작업의 기초들을 다룬다. 각각의 요소들(웹 스크래핑, API 프로그래밍, 결측치 채워 넣기 등)을 깊이 있게 다루려면 여러 권의 책이 필요할 것이기에, 가장 일반적이고 기본적인 기법들을 소개하고, 해당 기법을 실제 데이터에 사용해 볼 수 있도록 적절한 예 제들을 준비하였다.
이 교재에는 많은 파이썬 예제 코드가 포함되어 있다. 저자의 홈페이지를 통해 이 코드들을 바로 내려받을 수 있지만, 데이터 처리는 체계적인 학문이라기보다 몸에 체득되는 실용적인 기술에 가깝기 때문에, 이 코드들을 그저 실행해 보는 것에 그치지 않고 직접 입력하고 시행착오를 겪으며 스스로가 유용하게 다룰 수 있는 도구로 만들어 가는 것을 추천한다. 시행착오를 겪으며 스스로가 유용하게 다룰 수 있는 도구로 만들어 가는 것을 추천한다.
저자소개
서울대학교 컴퓨터공학부(학사)
서울대학교 전기컴퓨터공학부(석박통합과정 수료)
서울대학교 전기컴퓨터공학부(박사)
한양대학교 컴퓨터과학과 강의교수, 상명대학교 컴퓨터과학과 부교수
현재: 한국방송통신대학교 통계·데이터과학과 교수
주요 연구 분야: 개발 메타데이터에 기반한 소프트웨어 개발조직 분석·지원,
데이터 기반 소프트웨어 설계, 비기능적 데이터 요구사항의 검증
목차
제1장 파이썬과 실습 환경
1 들어가며
2 Google Colab 소개 및 설정
3 파이썬 기본 문법 복습
제2장 데이터 ETL
1 데이터 ETL 소개
2 데이터 ETL의 개념
3 데이터 추출
4 데이터 변환
5 데이터 적재
제3장 Pandas
1 판다스란 무엇인가
2 판다스 자료 구조
3 데이터 선택
4 데이터 가공
5 데이터 분석
6 데이터 편집
제4장 웹 스크래핑
1 웹 스크래핑 소개
2 웹 스크래핑의 도구
3 웹 스크래핑의 과정
4 HTML 기본
제5장 웹 스크래핑 라이브러리
1 웹 스크래핑 방식
2 BeautifulSoup
3 Selenium
제6장 웹 API를 활용한 데이터 수집
1 API의 개념과 REST API 이해하기
2 공공 API 활용 준비하기
3 파이썬으로 API 호출하기
제7장 데이터 정제(1) - 결측치의 탐지와 해결
1 데이터 정제의 개념
2 결측치의 유형
3 결측치 탐지하기
4 결측치 처리하기
제8장 데이터 정제(2) - 이상치의 탐지와 해결
1 이상치의 의미와 중요성
2 이상치 탐지하기
3 이상치 처리하기
4 중복 데이터 처리하기
제9장 데이터 정제(3) - 데이터 병합과 변환
1 자료형 변환의 개념과 필요성
2 Pandas를 이용한 자료형 변환
3 데이터프레임 병합
제10장 데이터 정제(4) - 데이터 스케일링과 인코딩
1 스케일링의 개념과 필요성
2 주요 스케일링 기법
3 범주형 데이터 인코딩