Top

파이썬으로 배우는 데이터 과학 2/e [파이썬의 주요 패키지부터 머신 러닝, 시각화에 이르기까지 데이터 과학의 핵심을 한 번에]

  • 원서명Python Data Science Essentials - Second Edition: Become an efficient data science practitioner by understanding Python's key concepts (ISBN 9781786462138)
  • 지은이알베르토 보스체티(Alberto Boschetti), 루카 마싸론(Luca Massaron)
  • 옮긴이이판호
  • ISBN : 9791161750910
  • 30,000원
  • 2017년 12월 08일 펴냄
  • 페이퍼백 | 452쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약

파이썬의 설치부터 머신 러닝, 시각화에 이르기까지 파이썬을 사용한 데이터 과학의 핵심에 대해 쉽고 친절하게 가르쳐준다. 핵심 도구인 주피터 사용법, 넘파이(numpy), 판다스(pandas) 등 파이썬 주요 패키지를 사용한 데이터 처리, 사이킷런(scikit-learn)에 포함된 주요 머신 러닝 알고리즘의 활용, 데이터 및 분석 결과의 시각화에 대해 배울 수 있다.

이 책의 대상 독자

데이터 과학자가 되고자 하고, 데이터 분석과 파이썬에 대해 최소한의 실무 지식을 갖고 있다면, 이 책은 여러분이 데이터 과학을 시작하게 해줄 것이다. R이나 매트랩(MATLAB)을 사용한 데이터 분석 경험을 가진 데이터 분석가 또한 데이터 조작과 머신 러닝 기술을 키우기 위한 포괄적인 참고서로 활용할 수 있다

이 책의 구성

1장, ‘첫 단계’에서는 주피터 노트북을 소개하며 튜토리얼에서 동작되는 데이터에 어떻게 접근할 수 있는지를 보여준다.
2장, ‘데이터 개조’에서는 데이터 과학 파이프라인의 개요를 제공하며, 어떠한 러닝 알고리즘을 적용하든 사전에 데이터를 다루고 준비하는 데 필요한 주요 도구들을 살펴 본다. 그리고 가설 실험 스케줄을 설정한다.
3장, ‘데이터 파이프라인’에서는 결과를 잠재적으로 개선할 수 있거나 심지어 강화할 수도 있는 모든 작업을 다룬다.
4장, ‘머신 러닝’에서는 사이킷런 패키지가 제공하는 주요한 머신 러닝 알고리즘 중 선형 모형, 서포트 벡터 머신(support vector machines), 앙상블 트리, 클러스터링을 위한 비지도적인(unsupervised) 기술 등을 샅샅이 살펴본다.
5장, ‘소셜 네트워크 분석’에서는 예측 변수/목표 변수 플랫 행렬(predic-tors/target flat matrices)의 흥미로운 변형인 그래프를 소개한다. 이는 현재 데이터 과학에서 꽤 인기 있는 주제다. 매우 복잡하고 난해한 네트워크를 샅샅이 살펴본다.
6장, ‘시각화, 인사이트 그리고 결과’에서는 맷플롯립(Matplotlib)으로 하는 시각화의 기초, 판다스로 EDA를 조작하 방법, 시본과 보케(Bokeh)로 아름다운 시각화를 이뤄내는 방법 그리고 요구에 따른 정보를 제공하기 위해 어떻게 웹 서버를 설정할 수 있는지에 대해 소개한다.
부록, ‘파이썬 기초 강화하기’에서는 데이터 과학 프로젝트를 작업하는 데 필수적인 파이썬 언어의 주요 측면에 집중한 예제와 튜토리얼을 다룬다.

저자/역자 소개

지은이의 말

데이터 과학은 선형 대수학, 통계적 모델링, 시각화, 컴퓨터 언어학, 그래프 분석, 머신 러닝, 비즈니스 인텔리전스, 데이터 저장과 검색의 성공적인 통합이 필요한 상대적으로 새로운 학문이다.
파이썬 프로그래밍 언어는 최근 10년간 과학계를 정복해오고 있으며, 이제는 데이터 과학 실무자에게는 필수 불가결한 도구이자 데이터 과학자가 되고자 하는 사람에게 반드시 필요한 도구가 됐다. 파이썬은 데이터 분석, 머신 러닝과 알고리즘적인 문제 풀이를 위한 빠르고, 신뢰할 수 있으며, 크로스 플랫폼하고 성숙된 환경을 제공해줄 것이다. 데이터 과학 애플리케이션을 위한 파이썬을 터득하는 데 여러분을 막았던 것이 무엇이든 실증적이면서도 현실 세계의 데이터 세트에 가장 직관적이며 효율적인 파이썬 도구를 적용하는 데 도움이 되는 쉽고 단계적이며 예제 중심적인 접근법이 이를 수월하게 극복하게 해줄 것이다. 이 책에서는 업데이트되고 확장된 내용을 제공한다. 최신의 주피터 노트북(Jupyter Notebooks)(교체 가능한 커널을 포함한 진정한 폴리글랏 데이터 과학 시스템)을 기반으로 하고 있으며, 넘파이(Numpy), 판다스(Pandas), 싸이킷런(Scikit-learn)의 주요 최신 개선 사항을 포함하고 있다. 게다가 딥러닝(떼아노(Theano)와 텐서플로(Tensorflow) 모두에 기반을 둔 케라스(Keras)를 보여줌으로써), 훌륭한 시각화(시본(seaborn)과 ggplot) 그리고 웹 배포(보틀(bottle)을 사용해) 형태의 새로운 내용을 제공한다. 단일 출처 접근법을 사용해 어떻게 파이썬의 최신 버전(3.5)에 핵심적인 데이터 과학 도구 상자를 설정하는지 보여주는 데서 시작한다(이는 책의 코드를 파이썬 2.7에서도 쉽게 재사용할 수 있음을 뜻한다). 그 후, 데이터 읽기, 변환, 분석을 위한 수정 그리고 이를 탐색/처리하는 것과 관련된 모든 데이터 과학의 핵심 활동을 설명하는 방식으로 데이터 개조 및 전처리 전체 단계에 걸쳐 여러분을 이끌어줄 것이다. 마지막으로 주요한 머신 러닝 알고리즘, 그래프 분석 기술 그리고 데이터 과학 전문가 및 기업 사용자 관객 모두에게 결과물을 더 쉽게 보여줄 수 있도록 하는 시각화 및 배포 도구 모두를 보여줌으로써 개요를 완성할 것이다.

지은이 소개

알베르토 보스체티(Alberto Boschetti)

신호 처리 및 통계 분야의 전문성을 가진 데이터 과학자다. 통신 공학 박사학위를 갖고 있으며, 현재 런던에 살고 있다. 업무 프로젝트에서 자연어 처리(NLP), 행동 분석, 머신 러닝, 분산 처리에 이르는 문제를 다루고 있다. 자신의 일에 열정적이며 모임, 컨퍼런스 및 기타 행사에 참여하면서 데이터 과학 기술 분야의 최신 동향을 지속적으로 파악하고 있다.

루카 마싸론(Luca Massaron)

다변수 통계 분석, 머신 러닝, 고객 분석에 특화된 데이터 과학자이자 마케팅 연구 디렉터다. 또한 지난 10년간 현실 문제를 해결하고 추론, 통계, 데이터 마이닝, 알고리즘을 적용해 업무 관계자에게 가치를 제공하는 일에 몸담았다. 이탈리아에서 웹 사용자 분석의 선구자부터 캐글(Kaggle) 상위 10위에 오르기까지 데이터 및 데이터 분석의 모든 면과 전문가 및 비전문가 모두에게 가능성 있는 데이터 주도 지식 발견을 보여주는 데 열정적이었다.

옮긴이의 말

요즘 인기 있는 데이터 과학을 배워보고 싶으십니까? 그런데 회사에서 항상 써오던 엑셀 대신 프로그래밍 언어로 더 멋지게 해보고 싶으신가요? 그렇다면 먼저 어떤 언어를 배울지 결정해야 되겠네요.
프로그래밍 언어가 처음이라면 파이썬과 R, 둘 중에서 하나를 고르면 됩니다. 두 언어 모 두 우아하고 쉬운 문법을 가지고 있어 초보자도 어렵지 않게 프로그래밍을 접할 수 있게 해줍니다. R의 장점이 특정 분야나 목적을 위한 풍부한 패키지라면, 파이썬의 장점은 범용성이라 할 수 있습니다. 파이썬의 SciPy, 판다스, 사이킷런 등 다양한 패키지는 어떤 데이터든 쉽고 빠르게 처리하고 분석할 수 있도록 도와줄 것입니다. 또한 파이썬을 더욱 능숙하게 사용할 수 있게 된다면, 게임이나 웹 사이트도 만들 수 있습니다.
자, 파이썬을 배우기로 결정하셨군요. 도서관에서 책을 빌려보거나 이 책의 추천을 따라 코드 아카데미의 무료 코스를 수강할 수도 있습니다. 인터넷에도 파이썬을 배울 수 있는 좋은 자료가 많습니다.
파이썬이 무엇인지 조금 이해하셨나요? 이제 데이터 과학을 직접 경험해볼 차례입니다. 그런데 프로그램 설치부터 실전 분석까지 과외 선생님처럼 차근차근 가르쳐주는 책이 있다면 어떨까요? 네, 바로 이 책입니다. 저는 책을 번역하면서 초보자의 입장을 배려한 저자의 노력에 감탄했습니다. 이 책은 프로그램 설치에서 데이터 분석과 시각화에 이르기까지 여러분을 잘 이끌어줄 것입니다.
수학적 내용이 어려울까 걱정스러우신가요? 물론 수학에 익숙하시다면 더욱 좋겠지만, 이 책은 주요 알고리즘의 개념을 최대한 쉽게 설명해주기 위해 노력합니다. 일단 어려운 수학은 접어두고, 데이터를 넣어 직접 분석을 해보면 어떨까요? 그래도 부족한 내용은 인터넷을 검색해보거나 관련 논문을 찾아 학습하면 충분할 것이라고 생각합니다. ‘천리 길도 한 걸음부터’라는 속담이 지금보다 어울릴 만한 때는 없을 것 같네요. 그리고 이 책은 여러분이 천리 길을 더욱 빨리 갈 수 있도록 도와줄 것입니다.

옮긴이 소개

이판호

대학에서 통계학을 전공했으며 주로 금융권 관련 경력을 쌓고 뒤늦게 프로그래밍 세계에 입문했다. 데이터 분석에 근거한 금융 투자 및 이를 위한 프로그램 개발에 관심이 많다. 현재는 ETF 포트폴리오 분석을 위한 웹 서비스를 개발하며 기술 서적을 번역하고 있다.

목차

목차
  • 1장. 첫 단계
    • 데이터 과학과 파이썬 소개
    • 파이썬 설치
      • 파이썬 2 아니면 파이썬 3?
      • 차례로 설치하기
      • 패키지 설치
      • 패키지 업그레이드
      • 과학 배포판
        • 아나콘다
        • 콘다를 활용해 패키지 설치하기
        • 엔서트캐노피
        • 파이썬XY
        • 윈파이썬
      • 가상 환경이란?
        • 콘다로 환경 관리하기
      • 핵심 패키지 맛보기
        • 넘파이
        • 싸이파이
        • 판다스
        • 싸이킷런
        • 주피터
        • 매트플롯립
        • Statsmodels
        • Beautiful Soup
        • NetworkX
        • NLTK
        • 젠심
        • PyPy
        • XGBoost
        • 티아노
        • 케라스
    • 주피터 소개
      • 빠른 설치 및 첫 테스트
      • 주피터 마법 명령
      • 주피터는 어떻게 데이터 과학자를 돕는가?
      • 주피터의 대안
    • 책에서 쓰는 데이터 세트 및 코드
      • 싸이킷런 토이데이터 세트
        • MLdata.org 공공 저장소
        • LIBSVM 데이터 표본
        • CVS나 텍스트 파일에서 직접 데이터 불러오기
        • 싸이킷런 샘플 생성기
    • 요약

  • 2장. 데이터 개조
    • 데이터 과학의 과정
    • 데이터 불러오기와 판다스로 전처리하기
      • 빠르고 쉬운 데이터 불러오기
      • 문제가 있는 데이터 다루기
      • 큰 데이터 다루기
      • 다른 데이터 형식 접근하기
      • 데이터 전처리
      • 데이터 선택
    • 범주형 및 텍스트 데이터 작업
      • 특별한 데이터 타입 - 텍스트
      • 뷰티풀수프로 웹 스크래핑하기
    • 넘파이 데이터 처리
      • 넘파이의 n차원 배열
      • 넘파이 ndarray 객체 기초
    • 넘파이 배열 만들기
      • 리스트에서 1차원 배열로
      • 메모리 크기 제어
      • 이종적인 리스트
      • 리스트에서 다차원 배열로
      • 배열 크기 재설정
      • 넘파이 함수로부터 만들어진 배열
      • 파일에서 직접 배열 얻기
      • 판다스로부터 데이터 추출
    • 넘파이의 빠른 동작과 연산
      • 행렬 연산
      • 넘파이 배열 자르기와 색인하기
      • 넘파이 배열 채우기
    • 요약

  • 3장. 데이터 파이프라인
    • EDA 소개
    • 새로운 특성 만들기
    • 차원 축소
      • 공분산 행렬
      • 주성분 분석
      • 빅데이터를 위한 PCA - 확률적 PCA
      • 잠재요인분석(LFA)
      • 선형판별분석(LDA)
      • 잠재의미분석(LSA)
      • 독립요소분석(ICA)
      • 커널PCA
      • T-SNE
      • 제한된 볼츠만 머신(RBM)
    • 특이값 감지 및 처치
    • 일변량 특이값 탐색
      • EllipticEnvelope
      • 단일 클래스 SVM
    • 검증 지표
      • 멀티 라벨 분류
      • 이진분류
      • 회귀
    • 테스트와 검증
    • 교차 검증
      • 교차 검증 반복기 사용
      • 표본 추출과 부트 스트래핑
    • 초매개변수 최적화
      • 사용자정의 채점 함수 구축
      • 격자 검색 실행시간 단축
    • 특성 선택
      • 특성 분산 기반 선택
      • 일변량 선택
      • 재귀적 제거
      • 안정성과 L1 기반 선택
    • 모든 것을 파이프라인으로 감싸기
      • 특성을 함께 결합하고 변환을 연결하기
      • 사용자정의 변환 함수 만들기
    • 정리

  • 4장. 머신 러닝
    • 도구와 데이터 세트 준비
    • 선형 및 로지스틱 회귀
    • 단순베이즈
    • K유사 이웃
    • 비선형 알고리즘
      • 분류를 위한 SVM
      • 회귀를 위한 SVM
      • SVM 튜닝
    • 앙상블 전략
      • 무작위 표본으로 붙이기
      • 느슨한 분류기로 담기
      • 무작위 하위 공간과 무작위 덧대기
      • 랜덤 포레스트와 엑스트라 트리
      • 앙상블로부터 확률 추정
      • 연속적인 모형 - AdaBoost
      • 기울기 나무 강화
      • XGBoost
    • 빅데이터 다루기
      • 빅터이터 세트 예제 만들기
      • 용량 확장성
      • 속도 올리기
      • 다양성 다루기
      • 확률적 기울기 하강에 대한 개요
    • 딥러닝 만나기
    • 자연어 처리 엿보기(NLP)
  • 단어 토큰화
  • 스테밍
  • 단어 태깅
  • 개체명 인식
  • 불용어
  • 완전한 데이터 과학 예제 - 텍스트 분류
    • 비지도학습 개요
    • 요약

  • 5장. 소셜 네트워크 분석
    • 그래프 이론 소개
    • 그래프 알고리즘
    • 그래프 읽기, 덤프하기, 추출하기
    • 요약

  • 6장. 시각화, 통찰, 결과
    • 매트플롯립 기초 소개
      • 곡선 그리기
      • 패널 사용
      • 데이터의 관계를 위한 산포도
      • 히스토그램
      • 막대그래프
      • 이미지 시각화
      • 판다스로 하는 그래픽적 선택 예제
        • 박스플롯과 히스토그램
      • 산포도
      • 평행 좌표
    • 매트플롯립 명령 래핑하기
      • 시본 소개
      • EDA 능력 강화
    • 보케로 양방향적 시각화하기
    • 더 나은 데이터학습 표현
      • 학습 곡선
      • 검증 곡선
      • 랜덤 포레스트를 위한 특성의 중요성
      • GBT 부분 의존성 도표
      • ML-ASS를 위한 예측 서버 만들기
    • 요약

  • 부록. 파이썬 기초 강화하기
    • 학습 리스트
      • 리스트
      • 딕셔너리
      • 함수 정의
      • 클래스, 객체, OOP
      • 예외
      • 이터레이터와 제너레이터
      • 조건문
      • 리스트와 딕셔너리 내포
    • 보고, 읽고, 해보며 배우기
      • 무크
      • 파이콘과 파이데이터
      • 양방향적 주피터

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안