◈ 추천의 글 ◈
교육자들은 자신이 선호하는 매체를 사용해 가르치는 경향이 있다. 개인적으로 경력을 시작할 즈음의 나는 비디오 콘텐츠에 매료됐다. 온라인 콘텐츠를 제작하면서 자주 듣는 질문 중 하나는 놀랍게도 ‘데이터 과학을 시작하는 사람들에게 추천할 만한 책이 있나요?’라는 질문이었다.
온라인에 좋은 자료가 많이 있는데도 책을 찾는 것에 처음에는 당황했으나 이 책을 읽은 후에는 데이터 과학 학습을 위한 책에 대한 내 인식이 바뀌었다.
이 책에서 가장 마음에 들었던 것은 책의 구성이었다. 적절한 양의 정보를 제때에 제공해 여러분이 자연스럽게 진도를 나갈 수 있도록 하고 있다. 본서를 통해 통계와 관련 개념에 관한 기초 지식부터 시작해 실습을 바탕으로 이론을 배울 수 있을 것이다.
기초를 배우고 나면 이 책의 핵심인 pandas를 만나게 된다. 저자는 (이전에 여러분들이 사용했던 것과 같은 오래된 데이터가 아닌) 최신 실제 데이터를 사용해 모듈(module)에 생명을 불어넣는다. 나 역시 이 책을 통해 몇 가지 기술을 배웠다.
이 책의 후반부에서는 pandas의 강력한 기능을 바탕으로 무엇을 할 수 있는지 배운다. 저자는 머신러닝의 고급 개념도 자세히 소개하지만 지나치게 기술적인 전문 용어를 사용하지 않으면서 진도를 나가는 데 필요한 정보를 충분히 제공한다.
나는 저자와 대화하면서 이 책에 대한 그녀의 자부심을 느낄 수 있었다. 이 책은 데이터 과학의 도구를 배우려는 사람들에게 좋은 자료이자 저자 자신의 지식을 확고히 하면서 본인의 영역을 확장할 수 있는 방법이기도 하다. 여러분은 커뮤니티뿐만 아니라 자신의 학습을 위해 창조하는 사람들로부터 배우고 싶을 것이다. 내재적 동기를 가진 사람들은 추가로 수정하거나 표현을 정확하게 하고자 더 많은 노력을 한다.
여러분도 나처럼 이 책에서 많은 것을 배울 수 있길 바란다. 위에서 내게 ‘데이터 과학을 시작하는 사람들에게 추천할 만한 책이 있나요?’ 라는 질문을 한 분들에 대한 대답은 바로 이 책이다.
◈ 이 책에서 다루는 내용 ◈
◆ 데이터 분석가와 과학자가 데이터를 수집하고 분석하는 방법 이해
◆ 파이썬으로 데이터 분석과 데이터 랭글링
◆ 여러 출처의 데이터를 결합, 그룹화 그리고 집계
◆ pandas와 matplotlib, seaborn으로 데이터 시각화
◆ 머신러닝 알고리듬으로 패턴을 식별, 예측
◆ 파이썬 데이터 과학 라이브러리를 사용해 실제 데이터세트 분석
◆ pandas로 일반적인 데이터 표현과 분석 문제 해결
◆ 분석 코드를 재사용할 수 있도록 파이썬 스크립트와 모듈, 그리고 패키지 생성
◈ 이 책의 대상 독자 ◈
이 책은 데이터 과학을 프로젝트에 적용하고 데이터 과학자와 협업하거나 소프트웨어 엔지니어와 함께 머신러닝 제품 코드 작업을 진행하고자 파이썬으로 데이터 과학을 배우려는 다양한 수준의 경험을 가진 사람들을 대상으로 한다. 다음과 같은 경험이 있다면 이 책을 최대로 활용할 수 있을 것이다.
R이나 SAS 또는 MATLAB과 같은 다른 언어로 데이터 과학을 경험하고 여러분의 작업을 파이썬으로 전환하고자 pandas를 배우려는 사람, 그리고 파이썬 경험이 있으며 파이썬을 사용해 데이터 과학을 배우려는 사람 모두가 읽기에 적합하다.
◈ 이 책의 구성 ◈
1장, ‘데이터 분석 소개 데이터 분석과 통계학의 기초’에서는 파이썬에서의 데이터 작업과 주피터 노트북(Jupyter Notebook) 사용을 위한 환경 설정 과정을 안내한다.
2장, ‘pandas 데이터프레임으로 작업하기’에서는 pandas 라이브러리를 소개하고 데이터프레임으로 작업하기 위한 기본 지식을 설명한다.
3장, ‘pandas로 데이터 랭글링하기’에서는 데이터 조작(data manipulation) 과정을 설명하고 API로 통한 데이터 수집 방법을 소개하며 pandas로 데이터 정제(data cleaning)와 재구성(reshaping)을 안내한다.
4장, ‘pandas로 데이터프레임 집계하기’에서는 데이터프레임에 질의(query)하고 병합하는 방법과 데이터프레임에서 이동 평균과 집계를 포함해 복잡한 계산을 하는 방법, 시계열 데이터를 효율적으로 다루는 방법을 다룬다.
5장, ‘pandas와 matplotlib로 데이터 시각화하기’에서는 파이썬에서 matplotlib 라이브러리를 사용해 데이터를 시각화하는 방법과 pandas 객체에서 직접 시각화하는 방법을 소개한다.
6장, ‘seaborn과 사용자 정의 기술로 그림 그리기’에서는 seaborn 라이브러리를 사용해 긴 형식의 데이터를 시각화하는 방법과 발표에 사용할 수 있도록 시각화를 사용자에게 맞게 수정할 수 있는 도구를 소개하면서 데이터 시각화에 관해 설명을 이어간다.
7장, ‘금융 분석-비트코인과 주식시장’에서는 주가 분석을 위한 파이썬 패키지를 만들고자 1장부터 6장까지 배운 모든 내용을 다룬다.
8장, ‘규칙 기반 이상 탐지’에서는 데이터를 시뮬레이션한 다음, 이상 탐지를 위한 규칙 기반 전략을 사용해서 웹 사이트에 인증을 시도하려는 해커를 잡고자 1장부터 6장까지 배운 모든 내용을 다룬다.
9장, ‘파이썬으로 머신러닝 시작하기’에서는 머신러닝과 Scikit-learn 라이브러리를 사용해 머신러닝 모델을 구축하는 방법을 소개한다.
10장, ‘예측 더 잘하기-모델 최적화’에서는 머신러닝 모델의 성능을 조정하고 개선하기 위한 전략을 알아본다.