파이썬 머신러닝

최신 예측 분석 기반으로 깊은 통찰력을 얻는 머신러닝 필수 가이드

세바스티안 라슈카 저 / 이혜연 역

머신러닝과 예측 분석은 비지니스 및 여러 기관의 운영 방식을 변화시키고 있다.

이 책은 여러분이 예측 분석 세계에 접근할 수 있도록 해주며 파이썬이 데이터 과학과 관련된 세계적으로 주요 언어 중 하나인 이유를 설명하고 있다. 여러분이 데이터에 대해 더 좋은 질문을 하고자 한다면 혹은 머신러닝 시스템을 개선하여 시스템 능력을 확대하고 싶다면, 이 책이 매우 유용할 것이다. 사이킷런(scikit-learn) 시애노(Theano), 케라스(Keras), 감성분석에서 신경망에 이르는 모든 것들에 대한 피쳐링 안내 및 팁을 포함하여 강력한 파이썬 라이브러리의 광범위한 영역을 다루고 있기 때문에 여러분 스스로 마주하고 있는 가장 중요한 질문들에 스스로 곧 대답할 수 있게 될 것이다.


도서 상세

분야: [프로그래밍, 데이터베이스 & 빅데이터]

출간일: Jan 21, 2017

페이지: 468

도서정가: 32,000 원

ISBN: 9791187497035

N 초급 B 초/중급 능숙 C P 숙련 E 전문
부가 정보

출판사 서평


이 책의 내용
- 자신의 데이터에 관한 여러가지 질문에 답을 얻기 위해 머신러닝 모델의 여러가지 사용법 탐색해보기
- 시애노(Theano)와 케라스(Keras)를 사용하여 신경망을 구축할 수 있는 방법 학습해보기
- 파이썬 코드를 깨끗하고 명쾌하게 적을 수 있는 방법을 알아보고, 이를 통해 알고리즘의 힘이 최적화되도록 해보기
- 여러분의 머신러닝 모델을 웹 애플리케이션에 임베딩하는 방법을 알아보고, 이를 통해 접근성을 증가시켜보기
- 회귀분석을 사용하여 연속형 목표의 출력을 예측해보기
- 군집분석을 통해 데이터내의 숨은 패턴과 구조를 밝혀보기
- 효과적인 전처리 기법을 사용하여 데이터를 구성하고, 자신의 머신러닝 모델들을 평가하기 위해 모범사례를 사용해 보기
- 텍스트 데이터와 소셜 미디어 데이터에 관해 더 많이 알아낼 수 있도록 감성분석에 대해 알아보기

저자 소개

세바스티안 라슈카 : 미시간 주립대학교의 박사 과정을 진행 중이며 컴퓨터 생명공학 영역에서 새로운 계산법을 발전시켰다. 그는 유명한 분석 관련 커뮤니티인 Analytics Vidhya의 깃허브(GitHub by Analytics Vidhya)에서 가장 영향력 있는 데이터 과학자로 손꼽히며 1년간의 파이썬 프로그래밍 경험으로 데이터 사이언스와 머신 러닝을 실제에 응용하는 내용에 관한 세미나를 수차례 진행했다.


역자 소개

이혜연 : 수년간 대기업 데이터 마이닝 시스템과 머신러닝 시스템 컨설팅 및 고급 분석을 기반으로 한 전략 컨설팅 경력을 보유하고 있다. 현재도 해당 분야의 컨설턴트로활약 중이며, 기업과 공공기관, 대학교에서 관련된 강의를 진행하고 있다. 기술 콘텐츠의 저술/번역 공동체 GoDev 의 가족이다.

CHAPTER 1 컴퓨터에 데이터를 학습할 수 있는 능력 부여하기

1.1 데이터를 지식으로 변환하기 위한 지능형기계 구성

1.2 머신러닝의 세 가지 유형

1.2.1 지도 학습(Supervised Learning)으로 미래에 관한 예측 만들기

1.2.2 강화학습을 활용한 상호작용문제 해결

1.2.3 비지도 학습(unsupervised learning)으로 은닉구조 발견

1.3 기초 용어와 표기 소개

1.4 머신러닝 시스템 구축을 위한 로드맵

1.4.1 전처리?데이터 갖추기

1.4.2 예측모델의 훈련 및 선택

1.4.3 모델 평가와 경험하지 않은 데이터 인스턴스 예측

1.5 머신러닝을 위한 파이썬의 사용

1.5.1 파이썬 패키지 설치

1.6 요약


CHAPTER 2 분류를 위한 머신러닝 알고리즘 훈련

2.1 인공뉴런 - 머신러닝의 초기 역사 들여다보기

2.2 파이썬에서 퍼셉트론 학습 알고리즘 구현하기

2.3 아이리스 데이터에 퍼셉트론 모델 훈련하기

2.3 에이다라인과 학습의 수렴

2.3.1 그래디언트 디센트가 있는 비용함수 최소화

2.3.2 파이썬으로 에이다라인 구현하기

2.3.3 큰 스케일의 머신러닝과 확률적 그래디언트 디센트

2.4 요약


CHAPTER 3 사이킷런을 사용한 머신러닝분류기

3.1 분류 알고리즘의 선택

3.2 사이킷런의 첫 번째 단계

3.2.1 사이킷런을 사용한 퍼셉트론의 훈련

3.3 로지스틱 회귀를 통한 모델링 분류 확률

3.3.1 로지스틱 회귀 직관력과 조건부 확률

3.3.2 로지스틱 비용함수의 가중치 학습

3.3.3 사이킷런으로 로지스틱 회귀 모델 훈련하기

3.3.4 정규화를 사용한 오버피팅 방지

3.4 서포트 벡터 머신의 마진 분류 최대화

3.4.1 최대 마진 직관력

3.4.2 여유 변수를 사용하여 비선형의 분리 가능 사례 처리

3.4.3 사이킷런 내의 다른 구현들

3.5 커널 SVM을 사용한비선형 문제의 해결

3.5.1 고차원 공간에서 분리 하이퍼 평면을 찾기 위한 커널 트릭의 사용

3.6 의사결정나무 학습

3.6.1 IG 최대화 - 투자 대비 최대 효과를 얻는 것

3.6.2 의사결정나무 만들기

3.6.3 ?랜덤 포레스트를사용해서 약한 학습기들(weak learners)을 결합하여 강한 학습기(strong learners) 만들기

3.7 KNN - 레이지러닝 알고리즘

3.8 요약


CHAPTER 4 좋은 훈련 데이터의구성 - 데이터 전처리

4.1 결측 데이터 다루기

4.1.1 결측값을 가진 샘플이나 피처 제거하기

4.1.2 결측값의 보정

4.1.3 사이킷런 에스티메이터API 이해하기

4.2 범주형 데이터 다루기

4.2.1 순위형 피처 매핑

4.2.2 분류 레이블 인코딩

4.2.3 명목형 피처에 원 핫 인코딩 수행하기

4.3 데이터를 훈련용과 테스트용으로 분할하기

4.4 피처들을 동일한 스케일로 가져오기

4.5 의미 있는 피처 선택

4.5.1 L1 정규화가 있는 희소 솔루션

4.5.2 연속형 피처 선택 알고리즘

4.6 랜덤 포레스트를 활용한 피처 중요도의평가

4.7 요약


CHAPTER 5 차원축소를 이용한 데이터 압축

5.1 주성분 분석을 활용한 비지도적 차원축소

5.1.1 전체분산과 설명분산

5.1.2 피처 변환

5.1.3 사이킷런에서 주성분 분석

5.2 선형 판별 분석을 활용한 지도적 데이터 압축

5.2.1 이산행렬 계산

5.2.2 새로운 피처 부분공간에 대한 선형 판별선택

5.2.3 샘플을 새 피처 공간에 투영하기

5.2.4 사이킷런을 활용한 LDA

5.3 비선형 매핑을 위한 커널 주성분 분석의 사용

5.3.1 커널 함수와 커널 트릭

5.3.2 파이썬에서커널 주성분 분석의 구현

5.3.3 새로운 관측치의 투영

5.3.4 사이킷런에서의 커널 주성분 분석

5.4 요약


CHAPTER 6 모델 평가와 하이퍼파라미터 튜닝에 관한 사례학습

6.1 파이프라인을 가진 스트리밍 워크플로우

6.1.1 Breast Cancer Wisconsin 데이터 로딩

6.1.2 파이프라인 내의 변환기와 에스티메이터 결합하기

6.2 k-fold 교차검증을 사용하여 모델 성능 평가하기

6.2.1 홀드아웃 메서드

6.2.2 K-fold 교차검증

6.3 학습곡선과 검증곡선에 의한 알고리즘 디버깅

6.3.1 학습곡선에 의한 바이어스와 분산 문제진단

6.3.2 검증곡선으로오버피팅과 언더피팅 다루기

6.4 그리드 검색을 사용한 머신러닝 모델의 미세 튜닝

6.4.1 그리드 검색을 사용한 하이퍼파라미터 튜닝

6.4.2 중첩 교차검증으로 알고리즘 선택하기

6.5 여러 가지 성능 평가 메트릭 살펴보기

6.5.1 컨퓨젼 매트릭스 읽기

6.5.2 분류 모델의정밀도와 리콜 최적화

6.5.3 Receiver Operating Characteristic 플로팅

6.5.4 다중 분류 분석을 위한 스코어링 메트릭

6.6 요약


CHAPTER 7 앙상블 학습을 위한 여러 가지 모델 결합

7.1 앙상블 학습

7.2 간단한 다수결 투표 분류기 구현하기

7.2.1 다수결 투표 분류를 위한 여러 가지알고리즘의 결합

7.3 앙상블 분류기의 평가 및 튜닝

7.4 배깅, 부트스트랩 샘플로부터 분류기 앙상블 만들기

7.5 어댑티브 부스팅을 활용한 약한 학습기 레버리징

7.6 요약


CHAPTER 8 머신러닝을 감성분석에 적용하기

8.1 IMDb 영화 리뷰 데이터 획득

8.2 백 오브 워드 모델 소개

8.2.1 단어를 피처 벡터로 변환

8.2.2 용어 빈도수-문서 빈도수의 역수를 이용한 단어의 관련성 평가

8.2.3 텍스트 데이터 정제

8.2.4 문서를 토큰으로 처리하기

8.3 문서 분류를 위한 로지스틱 회귀 모델 훈련

8.4 ?더 큰 데이터로 작업하기 -온라인 알고리즘과 아웃 오브 코어 학습

8.5 요약


CHAPTER 9 머신러닝 모델의 웹 애플리케이션 임베딩

9.1 피팅된 사이킷런 에스티메이터 직렬화

9.2 데이터 스토리지를 위한 SQLite 데이터베이스 구성

9.3 플라스크로웹 애플리케이션 개발하기

9.3.1 첫 번째 플라스크 웹 애플리케이션

9.3.2 형식 검증 및 렌더링

9.4 영화 분류기를 웹 애플리케이션으로 변환하기

9.5 공용 서버로 웹 애플리케이션 디플로잉

9.5.1 영화 리뷰 분류기 업데이트하기

9.6 요약


CHAPTER 10 회귀분석에 의한 연속형 목표변수 예측

10.1 심플 선형회귀 모델 소개

10.2 하우징데이터 탐색

10.2.1 데이터의 주요 특성 시각화

10.3 순위형 최소 제곱 선형회귀 모델 구현

10.3.1 그래디언트 디센트를 갖는 회귀 파라미터를 위해 회귀 모델 풀기

10.3.2 사이킷런을 활용한회귀 모델 계수 추정

10.4 RANSAC을 사용하는 강건한 회귀 모델 피팅

10.5 선형회귀 모델의 성능 평가

10.6 회귀를위한 정규화 메서드 사용

10.7 선형회귀 모델을 곡선의 다항 회귀로 변환하기

10.7.1 하우징 데이터 내의 비선형관계 모델링

10.7.2 랜덤 포레스트를 사용하여 비선형관계 처리하기

10.8 요약


CHAPTER 11 레이블 없는 데이터로 작업하기 - 군집분석

11.1 케이민즈를 활용한 유사도에 의한 개체 그룹핑

11.1.1 K-means++

11.1.2 하드 클러스터링과 소프트 클러스터링

11.1.3 엘보우 메서드를 사용하여 최적의 군집 개수 찾아내기

11.1.4 실루엣플롯을 활용한 클러스터링 품질의 수량화

11.2 계층 나무(hierarchical tree)로 군집 구성하기

11.2.1 거리 행렬에 기반한 계층적 클러스터링 수행하기

11.2.2 계층도를 열지도에 첨부하기

11.3 사이킷런을 활용하여 응집성 클러스터링 적용하기

11.4 DBSCAN을 활용하여 고밀도 영역 찾아내기

11.5 요약


CHAPTER 12 이미지 인식을 위한 인공신경망 훈련

12.1 인공신경망에 의한 복잡한 함수들의 모델링

12.1.1 단일레이어 신경망recap

12.1.2 다중 레이어 신경망 아키텍처의 소개

12.1.3 순전파를 사용한 신경망의 활성화

12.2 손으로 작성된 숫자들의 분류

12.2.1 MNIST 데이터의 획득

12.2.2 다중 레이어 퍼셉트론 구현

12.3 인공신경망 훈련

12.3.1 로지스틱 비용함수계산

12.3.2 역전파를 활용한 신경망 훈련

12.4 역전파에 관한 직관 개발하기

12.5 그래디언트 체킹을 가진 디버깅 신경망

12.6 신경망에서의 수렴

12.7 다른 신경망 아키텍처

12.7.1 컨볼루션 신경망

12.7.2 순환형 신경망

12.8 신경망 구현에 관한 몇 가지 최종 단어

12.9 요약


CHAPTER 13 시애노 병렬 신경망 훈련

13.1 시애노를 사용하여 만들고, 컴파일링하고, 구동하기

13.1.1 시애노란 무엇인가

13.1.2 시애노의 첫 번째 단계

13.1.3 시애노 설정

13.1.4 배열 구조로작업하기

13.1.5 마감하기 - 선형회귀의 사례

13.2 피드포워드 신경망에 대한 활성함수 선택

13.2.1 로지스틱 함수 다시보기

13.2.2 소프트맥스 함수를 사용하여 다중분류 내의 확률 추정하기

13.2.3 하이퍼볼릭 탄젠트를 사용함으로써 출력 스펙트럼 확장하기

13.3 케라스를 사용한 효율적인 신경망의 훈련

13.4 요약