사이킷런 핵심 개발자에게 배우는 머신러닝 이론과 구현
현업에서 머신러닝을 연구하고 인공지능 서비스를 개발하기 위해 꼭 학위를 받을 필요는 없습니다. 사이킷런(scikit-learn)과 같은 훌륭한 머신러닝 라이브러리가 복잡하고 난해한 작업을 직관적인 인터페이스로 감싸주는 덕분이죠. 이 책에서는 사이킷런의 핵심 개발자가 복잡한 수학을 동원하지 않고 실용적으로 머신러닝을 구축하는 모든 단계를 설명합니다. 미적분, 선형대수, 확률 이론을 공부하지 않았어도 이 책을 통해 머신러닝을 활용할 수 있게 될 것입니다.
한국어판에는 특별히 '저자 인터뷰'와 'KoNLPy를 사용한 영화 리뷰 분석(7.8.1절)'도 실었습니다.
◆ 출판사 리뷰
실제 문제에 대한 해법을 찾는 머신러닝 기술자를 위한 본격 머신러닝 입문서
이 책은 머신러닝 알고리즘을 밑바닥부터 만드는 법을 다루지는 '않으며', 대신 사이킷런과 다른 라이브러리에 이미 구현된 방대한 양의 모델을 사용하는 법에 집중합니다. 머신러닝과 인공지능에 대한 사전 지식이 필요 없는 입문서로, 파이썬과 사이킷런을 중심으로 머신러닝 애플리케이션을 성공적으로 만드는 모든 단계를 밟아갑니다. 여기서 소개하는 방법들은 상용 애플리케이션을 만드는 데이터 전문가는 물론 연구자와 과학자에게도 도움이 될 것입니다. 파이썬과 NumPy, matplotlib 라이브러리에 친숙하다면 이 책의 대부분을 이해할 수 있습니다.
★ 주요 내용
● 머신러닝의 기본 개념과 응용
● 널리 사용되는 머신러닝 알고리즘의 장점과 단점
● 머신러닝으로 처리한 데이터를 표현하는 방법
● 모델 평가와 매개변수 튜닝을 위한 고급 방법
● 체인 모델과 워크플로 캡슐화를 위한 파이프라인
● 텍스트 데이터를 다루는 기술
● 머신러닝과 데이터 과학 기술 향상을 위한 조언
[관련 서적] (제목 + ISBN)
● 처음 배우는 인공지능 / 9788968483318
● 밑바닥부터 시작하는 딥러닝 / 9788968484636
● 텐서플로 첫걸음 / 9788968484902
● 파이썬 라이브러리를 활용한 데이터 분석 / 9788968480478
오랫동안 스타트업에서 일해온 데이터 과학자이자 뛰어난 콘퍼런스 발표자입니다. 파이썬, 머신러닝, 대량의 데이터와 기술 세계를 좋아합니다. 미시간 대학교의 대학원에 입학했으며, 지금은 뉴욕에 거주하고 있습니다.
CHAPTER 1 소개
1.1 왜 머신러닝인가?
__1.1.1 머신러닝으로 풀 수 있는 문제
__1.1.2 문제와 데이터 이해하기
1.2 왜 파이썬인가?
1.3 scikit-learn
__1.3.1 scikit-learn 설치
1.4 필수 라이브러리와 도구들
__1.4.1 주피터 노트북
__1.4.2 NumPy
__1.4.3 SciPy
__1.4.4 matplotlib
__1.4.5 pandas
__1.4.6 mglearn
1.5 파이썬 2 vs. 파이썬 3
1.6 이 책에서 사용하는 소프트웨어 버전
1.7 첫 번째 애플리케이션: 붓꽃의 품종 분류
__1.7.1 데이터 적재
__1.7.2 성과 측정: 훈련 데이터와 테스트 데이터
__1.7.3 가장 먼저 할 일: 데이터 살펴보기
__1.7.4 첫 번째 머신러닝 모델: k-최근접 이웃 알고리즘
__1.7.5 예측하기
__1.7.6 모델 평가하기
1.8 요약
CHAPTER 2 지도 학습
2.1 분류와 회귀
2.2 일반화, 과대적합, 과소적합
__2.2.1 모델 복잡도와 데이터셋 크기의 관계
2.3 지도 학습 알고리즘
__2.3.1 예제에 사용할 데이터셋
__2.3.2 k-최근접 이웃
__2.3.3 선형 모델
__2.3.4 나이브 베이즈 분류기
__2.3.5 결정 트리
__2.3.6 결정 트리의 앙상블
__2.3.7 커널 서포트 벡터 머신
__2.3.8 신경망(딥러닝)
2.4 분류 예측의 불확실성 추정
__2.4.1 결정 함수
__2.4.2 예측 확률
__2.4.3 다중 분류에서의 불확실성
2.5 요약 및 정리
CHAPTER 3 비지도 학습과 데이터 전처리
3.1 비지도 학습의 종류
3.2 비지도 학습의 도전 과제
3.3 데이터 전처리와 스케일 조정
__3.3.1 여러 가지 전처리 방법
__3.3.2 데이터 변환 적용하기
__3.3.3 훈련 데이터와 테스트 데이터의 스케일을 같은 방법으로 조정하기
__3.3.4 지도 학습에서 데이터 전처리 효과
3.4 차원 축소, 특성 추출, 매니폴드 학습
__3.4.1 주성분 분석(PCA)
__3.4.2 비음수 행렬 분해(NMF)
__3.4.3 t-SNE를 이용한 매니폴드 학습
3.5 군집
__3.5.1 k-평균 군집
__3.5.2 병합 군집
__3.5.3 DBSCAN
__3.5.4 군집 알고리즘의 비교와 평가
__3.5.5 군집 알고리즘 요약
3.6 요약 및 정리
CHAPTER 4 데이터 표현과 특성 공학
4.1 범주형 변수
__4.1.1 원-핫-인코딩(가변수)
__4.1.2 숫자로 표현된 범주형 특성
4.2 구간 분할, 이산화 그리고 선형 모델, 트리 모델
4.3 상호작용과 다항식
4.4 일변량 비선형 변환
4.5 특성 자동 선택
__4.5.1 일변량 통계
__4.5.2 모델 기반 특성 선택
__4.5.3 반복적 특성 선택
4.6 전문가 지식 활용
4.7 요약 및 정리
CHAPTER 5 모델 평가와 성능 향상
5.1 교차 검증
__5.1.1 scikit-learn의 교차 검증
__5.1.2 교차 검증의 장점
__5.1.3 계층별 k-겹 교차 검증과 그외 전략들
5.2 그리드 서치
__5.2.1 간단한 그리드 서치
__5.2.2 매개변수 과대적합과 검증 세트
__5.2.3 교차 검증을 사용한 그리드 서치
5.4 평가 지표와 측정
__5.4.1 최종 목표를 기억하라
__5.4.2 이진 분류의 평가 지표
__5.4.3 다중 분류의 평가 지표
__5.4.4 회귀의 평가 지표
__5.4.5 모델 선택에서 평가 지표 사용하기
5.5 요약 및 정리
CHAPTER 6 알고리즘 체인과 파이프라인
6.1 데이터 전처리와 매개변수 선택
6.2 파이프라인 구축하기
6.3 그리드 서치에 파이프라인 적용하기
6.4 파이프라인 인터페이스
__6.4.1 make_pipleline을 사용한 파이프라인 생성
__6.4.2 단계 속성에 접근하기
__6.4.3 그리드 서치 안의 파이프라인 속성에 접근하기
6.5 전처리와 모델의 매개변수를 위한 그리드 서치
6.6 모델 선택을 위한 그리드 서치
6.7 요약 및 정리
CHAPTER 7 텍스트 데이터 다루기
7.1 문자열 데이터 타입
7.2 예제 애플리케이션: 영화 리뷰 감성 분석
7.3 텍스트 데이터를 BOW로 표현하기
__7.3.1 샘플 데이터에 BOW 적용하기
__7.3.2 영화 리뷰에 대한 BOW
7.4 불용어
7.5 tf-idf로 데이터 스케일 변경하기
7.6 모델 계수 조사
7.7 여러 단어로 만든 BOW(n-그램)
7.8 고급 토큰화, 어간 추출, 표제어 추출
__7.8.1 (한국어판 부록) KoNLPy를 사용한 영화 리뷰 분석
7.9 토픽 모델링과 문서 군집화
__7.9.1 LDA
7.10 요약 및 정리
CHAPTER 8 마무리
8.1 머신러닝 문제 접근 방법
__8.1.1 의사 결정 참여
8.2 프로토타입에서 제품까지
8.3 제품 시스템 테스트
8.4 나만의 추정기 만들기
8.5 더 배울 것들
__8.5.1 이론
__8.5.2 다른 머신러닝 프레임워크와 패키지
__8.5.3 랭킹, 추천 시스템과 그 외 다른 알고리즘
__8.5.4 확률 모델링, 추론, 확률적 프로그래밍
__8.5.5 신경망
__8.5.6 대규모 데이터셋으로 확장
__8.5.7 실력 기르기
8.6 마치며