파이썬을 이용한 머신러닝, 딥러닝 실전 개발 입문

2018. 1. 15. 00:04

파이썬을 이용한 머신러닝, 딥러닝 실전 개발 입문





00장: 머신러닝을 위한 데이터 처리

0-1. 크롤링, 스크레이핑, 머신러닝

___인터넷의 빅데이터

___스크레이핑, 크롤링, 데이터 가공

___머신러닝에 사용할 수 있는 데이터의 구조


01장: 크롤링과 스크레이핑

1-1. 데이터 다운로드하기

___웹상의 정보를 추출하는 방법

___urllib.request를 이용한 다운로드

___웹에서 데이터 추출하기

___BeautifulSoup로 스크레이핑하기

1-2. BeautifulSoup로 스크레이핑하기

___네이버 금융에서 환율 정보 추출하기

___웹 브라우저로 HTML 구조 확인하기

1-3. CSS 선택자

___위키 문헌에 공개돼 있는 윤동주 작가의 작품 목록 가져오기

___CSS 선택자 자세히 알아보기

___CSS 선택자로 추출 연습하기

___정규 표현식과 함께 조합하기

1-4. 링크에 있는 것을 한꺼번에 내려받기

___한꺼번에 다운받는 데 필요한 처리 내용

___상대 경로를 전개하는 방법

___재귀적으로 HTML 페이지를 처리하는 방법


02장: 고급 스크레이핑

2-1. 로그인이 필요한 사이트에서 다운받기

___HTTP 통신

___requests 사용해보기

2-2. 웹 브라우저를 이용한 스크레이핑

___웹 브라우저 원격 조작에 사용하는 Selenium

___웹 사이트를 이미지로 캡처해보기

___네이버에 로그인해서 구매한 물건 목록 가져오기

___Selenium으로 스크레이핑하는 방법

___자바스크립트 실행해보기

2-3. 웹 API로 데이터 추출하기

___웹 API

___웹 API를 제공하는 이유

___웹 API 사용해보기 - OpenWeatherMap의 날씨 정보

___국내에서 사용할 수 있는 웹 API

2-4. cron을 이용한 정기적인 크롤링

___정기적인 크롤링

___매일 환율 정보 저장하기

___cron으로 매일 한 번 실행하기

___crontab 설정 방법


03장: 데이터 소스의 서식과 가공

3-1. 웹의 다양한 데이터 형식

___텍스트 데이터와 바이너리 데이터

___XML 분석

___JSON 분석

___YAML 분석

___CSV/TSV 분석

___엑셀 파일 분석

3-2. 데이터베이스

___데이터베이스

___데이터 저장에는 어떤 데이터베이스를 사용해야 할까?

___SQLite - 가볍게 파일 하나로 사용할 수 있는 데이터베이스

___MySQL 사용하기

___TinyDB 사용하기


04장: 머신러닝

4-1. 머신러닝이란?

___머신러닝 개요

___머신러닝의 종류

___머신러닝의 흐름

___머신러닝의 응용 분야

___초과 학습(초과 적합)

4-2. 머신러닝 첫걸음

___머신러닝 프레임워크 scikit-learn

___XOR 연산 학습해보기

___붓꽃의 품종 분류하기

4-3. 이미지 내부의 문자 인식

___손글씨 숫자 인식하기

___이미지 데이터 학습시키기

4-4. 외국어 문장 판별하기

___외국어 판정

___판정 방법

___샘플 데이터 수집

___언어 판별 프로그램

___웹 인터페이스 추가하기

4-5. 서포트 벡터 머신(SVM)

___SVM이란?

___SVM을 실제로 사용해보기

___SVM의 종류

4-6. 랜덤 포레스트

___랜덤 포레스트란?

___랜덤 포레스트 사용하기

4-7. 데이터를 검증하는 방법

___크로스 밸리데이션

___그리드 서치


05장: 딥러닝

5-1. 딥러닝 개요

___딥러닝

5-2. TensorFlow 설치하기

___TensorFlow

___설치 방법

___설치가 제대로 됐는지 확인하기

___TensorFlow로 간단한 계산해보기

5-3. Jupyter Notebook

___Jupyter Notebook 설치하고 실행하기

___새 노트 만들기

___데이터 시각화

___TensorFlow와 함께 사용하기

5-4. TensorFlow 기본

___TensorFlow 기본

___머신러닝 해보기

5-5. TensorBoard로 시각화하기

___TensorBoard의 사용법

5-6. TensorBoard로 딥러닝하기

___딥러닝의 구조

___딥러닝 해보기 - MNIST 손글씨 데이터

5-7. Keras로 다양한 딥러닝 해보기

___Keras

___Keras 설치

___Keras로 MNIST 테스트해보기

___Keras로 비만도 판정해보기

5-8. Pandas/NumPy 다루기

___Pandas/NumPy

___데이터 조작

___Pandas/Numpy 정리


06장: 텍스트 분석과 챗봇 만들기

6-1. 한국어 분석(형태소 분석)

___형태소 분석

___한국어 형태소 분석 라이브러리

___출현 빈도 분석

6-2. Word2Vec으로 문장을 벡터로 변환하기

___Word2Vec

___Gensim 설치

___Gensim의 Word2Vec으로 “토지”를 읽어보기

___위키피디아 한국어 버전을 사전으로 사용해보기

___위키피디아 데이터로 놀아보기

6-3. 베이즈 정리로 텍스트 분류하기

___텍스트 분류

___베이즈 정리

___나이브 베이즈 분류

___베이지안 필터 사용해보기

6-4. MLP로 텍스트 분류하기

___MLP로 텍스트 분류하기

6-5. 문장의 유사도를 N-gram으로 분석하기

___문장의 유사도 분석

___레벤슈타인 거리

___파이썬으로 레벤슈타인 거리를 계산하는 프로그램

___N-gram으로 유사도 구하기

6-6. 마르코프 체인과 LSTM으로 문장 생성하기

___마르코프 체인과 LSTM/RNN

___마르코프 체인이란?

___마르코프 체인 구현하기

___LSTM/RNN

6-7. 챗봇 만들기

___챗봇(회화 봇)

___챗봇의 구조


07장: 이미지와 딥러닝

7-1. 유사 이미지 검출하기

___간단한 형태 인식 - Average Hash

7-2. CNN으로 Caltech 101의 이미지 분류하기

___CNN으로 색상 있는 이미지 분류해보기

7-3. 규동 메뉴 이미지 판정하기

___규동을 판정할 수 있는 PC가 좋은 PC

___스크레이핑부터 시작하기

7-4. OpenCV로 얼굴 인식하기

___OpenCV

___얼굴을 인식하는 프로그램 만들어보기

___얼굴에 모자이크 걸기

7-5. 이미지 OCR - 연속된 문자 인식하기

___OpenCV로 텍스트 영역 확인하기

___문자 인식 데이터 만들기

___다양한 숫자 폰트 학습 시키기


부록: 개발 환경 구축

부록-1. Docker로 개발 환경 구축하기

___Docker란?

___Docker 설치

___윈도우 10 이하에서 Docker Toolbox 설치하기

___macOS에서 Docker for Mac 설치하기

부록-2. 파이썬 + Anaconda 환경 준비

___파이썬 + Anaconda 이미지 다운로드

<목차 출처: yes24.com>



* * *


오랜만에 참 좋은 책을 만났다.

관심있던 머신러닝과 파이썬 그리고 웹크롤링까지 한 번에 배울 수 있는 귀한 책이다. 보자마자 그래 이 책이다. 싶었다.

그러고 보면 일본인 저자들이 책을 참 잘 쓴다. 쭉쭉 따라 읽다 보면 이해가 되는 전개로 입문자도 쉽게 따라 할 수 있을 것 같다.


... 그러나 내가 이 책의 내용을 구현하는 데는 좀 시간이 걸릴 것 같다...

자는 시간도 부족한 현재의 생활에서는 나는 그저 책 수집가다. 후후 ㅜㅜ