머신러닝할 때의 문제를 극복하기 위한 실습 위주의 실용 파이썬 솔루션!
머신러닝(machine learning, ML)을 이용하면 프로그램을 명시적으로 작성하지 않고도 데이터에 숨어 있는 통찰력을 드러낼 수 있다. 이 책은 업무 중 생길 수 있는 모든 머신러닝 문제를 푸는 열쇠 역할을 한다. 머신러닝 모델을 구축하는 동안 간단한 문제부터 복잡한 문제에 이르기까지 다양한 문제가 생길 수 있는데, 이 책에서 그러한 문제를 풀어보고 실용적인 접근법과 따라 하기 쉬운 예제를 통해 각 문제를 바탕으로 프로젝트를 완성해 나가는 방법을 배운다.
데이터셋과 사용 사례에 적합한 알고리즘을 알아내는 일, 데이터셋을 만들어 레이블을 붙이는 일, 처리 과정이 진행되기에 충분히 정제된 데이터를 획득하는 일, 이상점을 식별하는 일, 데이터셋에 과적합이 되지 않게 하는 일, 하이퍼 파라미터를 조율하는 일, 적시에 정확한 예측을 하는 방법 등 책에서 다루는 다양한 예제를 통해 실무에서도 충분히 활용할 만한 지식을 제공한다.
이 책을 다 읽고 나면 필요할 때 모델을 미세 조정하는 방법을 터득함으로써 생산성을 극대화할 수 있게 될 것이다.
★ 이 책에서 다루는 내용 ★
◎ 머신러닝 분야에서 최적의 솔루션을 끌어내는 데 알맞은 알고리즘을 선택한다.
◎ 머신러닝 알고리즘을 사용해 예측 분석을 효과적으로 수행한다.
◎ 주가지수를 사용해 주가를 예측한다.
◎ 고객 분석학을 바탕으로 전자상거래 플랫폼에 필요한 엔진을 구축한다.
◎ 다양한 분야에 필요한 추천 엔진을 구축한다.
◎ 다양한 분야에 필요한 자연어 처리 애플리케이션을 구축한다.
◎ 다양한 자연어 처리 기술을 사용해 언어 생성 애플리케이션을 구축한다.
◎ 표정 인식과 같은 컴퓨터 비전 애플리케이션을 구축한다.
저자 소개
잘라지는 정보기술업, 출판업 및 금융업 근무 이력이 있는 숙련된 데이터 과학자이다. 『Python Natural Language Processing』(파이썬 자연 언어 처리)이라는 책의 저자이기도 하다. 자연 언어 처리, 머신러닝, 딥러닝 및 빅데이터 분석을 연구하는 데 관심이 있다. 데이터 과학자이기도 하지만 사회 활동가이자 여행가이며 자연을 사랑하는 사람이기도 하다.
목 차
▣ 01장: 신용 위험 모델링
연구문제 진술 소개
데이터셋 이해
__데이터셋의 특성 이해
__데이터 분석
____데이터 전처리
____데이터 전처리에 이은 기본 데이터 분석
____부양 가족 수
__기준 모델에 대한 특징 공학
특징 중요도 알아내기
머신러닝 알고리즘 선택
__k 최근접 이웃
__로지스틱 회귀
__에이다부스트
__그레이디언트부스팅
__랜덤포레스트
기준 모델 훈련
테스트 계량 이해
__훈련된 모델의 평균 정확도
__ROC-AUC 점수
____ROC
____AUC
기준 모델 테스트
기존 접근법의 문제점
기존 접근법 최적화
__접근법 최적화에 필요한 핵심 개념 이해
____교차 검증
____하이퍼파라미터 조율
개선 접근법 구현
__교차 검증 기반 접근법 구현
__하이퍼파라미터 조율 구현
__개선 접근법 구현 및 테스트
__개선 접근법의 문제점 이해
최선 접근법
__최선 접근법 구현
____특징의 로그 변환
____투표 기반 앙상블 머신러닝 모델
____실제 테스트 데이터에서 머신러닝 모델을 실행하기
요약
▣ 02장: 주식 시장 가격 예측
연구문제 진술 소개
데이터셋 수집
__DJIA 지수 가격 수집
__뉴스 기사 수집
데이터셋 이해
__DJIA 데이터셋 이해
__뉴욕타임즈 뉴스 기사 데이터셋 이해
데이터 전처리 및 데이터 분석
__DJIA 훈련 데이터셋 준비하기
__DJIA 데이터셋에 대한 기본 데이터 분석
__뉴욕 타임즈 뉴스 데이터셋 준비
____발행 일자를 YYYY-MM-DD 형식으로 변환
____뉴스 기사를 분야별로 선별
____필터 특징 구현 및 데이터셋 병합
____병합된 데이터셋을 피클 파일 형식으로 저장
특징 공학
__데이터셋 적재
__소규모 전처리
____수정 종가를 정수 형식으로 변환
____뉴스 헤드라인에서 가장 왼쪽에 있는 점을 제거
특징 공학
뉴욕 타임즈 뉴스 기사의 정서 분석
머신러닝 알고리즘 선택
기준 모델 훈련
__훈련 데이터셋과 테스트 데이터셋으로 분할
__훈련 데이터셋 및 테스트 데이터셋의 예측 레이블 분할
__정서 점수를 넘파이 배열로 변환
__머신러닝 모델 훈련
테스트 계량 이해
__기본 테스트 계량
__시각화 접근법
기준 모델 테스트
__출력 생성과 해석
__정확도 점수 생성
__출력 시각화
기존 접근법의 문제점 탐구
__조정
__평활화
__그 밖의 머신러닝 알고리즘을 시도
개선 접근법 이해
__개념과 접근법을 이해하기
____조정 기반 접근법
____평활화 기반 접근법
____로지스틱 회귀 기반 접근법
개선 접근법 구현
__구현
____조정 구현
____평활화 구현
____로지스틱 회귀 구현
__개선 접근법 테스트
__개선 접근법의 문제점 이해
최선 접근법
요약
▣ 03장: 고객 분석
고객 세분화 소개
__연구문제 진술 소개
데이터셋 이해
__데이터셋에 대한 설명
__데이터셋 내려받기
__데이터셋의 특성
기준 접근법 구축
__기준 접근법 구현
____데이터 준비
____탐색적 데이터 분석
____고객 범주 생성
____고객 분류
__테스트 계량 이해
____혼동 행렬
____학습 곡선
__기준 접근법 결과 테스트
____분류 기준에 대한 정확도 점수 생성
____분류기의 혼동 행렬 생성
____분류기에 대한 학습 곡선 생성
__기준 접근법의 문제점
__기준 접근법 최적화
개선 접근법 구축
__개선 접근법 구현
__개선 접근법 테스트
__개선 접근법의 문제점
____개선 접근법을 개선하는 방법 이해
최선 접근법
__최선 접근법 구현
__최선 접근법 테스트
____유보 말뭉치를 훈련 데이터셋의 형태로 변환
____변형 데이터셋을 행렬 형식으로 변환하기
____예측 생성
다양한 분야에 대한 고객 세분화
요약
▣ 04장: 전자상거래용 추천 시스템
연구문제 진술 소개
데이터셋 이해
__전자상거래 품목 데이터
__북크로싱 데이터셋
____BX-Book-Ratings.csv
____BX-Books.csv
____BX-Users.csv
기준 접근법 구축
기본 개념 이해
__내용 기반 접근법 이해
__기준 접근법 구현
____추천 시스템의 아키텍처
____기준 접근법을 구현하기 위한 단계
__테스트 계량 이해
__기준 접근법 결과 테스트
__기준 접근법의 문제점
__기준 접근법 최적화
개선 접근법 구축
__개선 접근법 구현
____데이터셋 적재
____도서 평가 데이터 파일의 EDA
____도서 데이터 파일 탐색
____사용자 데이터 파일의 EDA
____추천 엔진에 대한 상관 논리 구현
__개선 접근법 테스트
__개선 접근법의 문제점
____개선 접근법 개선 방법 이해
최선 접근법
__주요 개념 이해
____협업 필터링
__최선 접근법 구현
____데이터셋 적재
____데이터 프레임 병합
____병합된 데이터 프레임의 EDA
____위치 정보 기반 데이터 선별
____KNN 알고리즘 적용
____KNN 알고리즘을 사용한 추천
____행렬 인수분해 적용
____행렬 인수분해를 이용한 추천
요약
▣ 05장: 정서 분석
연구문제 진술 소개
데이터셋 이해
__데이터셋 내용 이해
____train 폴더
____test 폴더
____imdb.vocab 파일
____imdbEr.txt 파일
____README
__영화 감상평 검토 파일의 내용 이해
기준 모델에 대한 훈련 및 테스트 데이터셋 작성
기준 모델의 특징 공학
머신러닝 알고리즘 선택
기준 모델 훈련
__기준 모델 구현
____다항 나이브 베이즈
____커널 rbf를 사용한 C-서포트 벡터 분류
____커널 선형을 사용한 C-서포트 벡터 분류
____선형 서포트 벡터 분류
테스트 계량 이해
__정밀도
__재현율
__F1 점수
__지지도
__훈련 정확도
기준 모델 테스트
__다항 나이브 베이즈의 테스트
__rbf 커널을 사용한 SVM 테스트
__선형 커널로 SVM을 테스트
__linearSVC로 SVM을 테스트
기존 접근법의 문제점
기존 접근법을 최적화하는 방법
__접근법 최적화를 위한 주요 개념 이해
개선 접근법 구현
__종속 라이브러리 가져오기
__IMDb 데이터셋 내려받기 및 적재하기
__상위 단어 및 최대 텍스트 길이 선택
__워드 임베딩 구현
__합성곱 신경망 구축
__훈련 및 정확도 확보
__개선 접근법 테스트
__개선 접근법의 문제점 이해
최선 접근법
__최선 접근법 구현
____GloVe 모델 적재
____데이터셋 적재
____미리 계산된 ID 행렬 적재
____훈련 및 테스트 데이터셋 분할
____신경망 구축
____신경망 훈련
____훈련된 모델 적재
____훈련된 모델 테스트
요약
▣ 06장: 일자리 추천 엔진
연구문제 진술 소개
데이터셋 이해
__긁어 모은 데이터셋
__일자리 추천 경진대회 데이터셋
__apps.tsv
__users.tsv
__Jobs.zip
__user_history.tsv
기준 접근법 구축
__기준 접근법 구현
____상수 정의
____데이터셋 적재
____도우미 함수 정의
____TF-IDF 벡터 및 코사인 유사도 생성
__테스트 계량 이해
__기준 접근법의 문제점
__기준 접근법 최적화
개선 접근법 구축
__데이터셋 적재
__훈련 데이터셋과 테스트 데이터셋으로 분할하기
__탐색적 데이터 분석
__일자리 데이터 파일을 사용해 추천 엔진을 구축하기
__개선 접근법 테스트
__개선 접근법의 문제점
__개선 접근법을 향상하는 방법 이해
최선 접근법
__최선 접근법 구현
____데이터셋 선별
____훈련 데이터셋 준비
____연결 연산 적용
____TF-IDF 및 코사인 유사도 점수 생성
____추천 생성
요약
▣ 07장: 텍스트 요약
요약의 기본을 이해하기
__추출 요약
__생성 요약
연구문제 진술 소개
데이터셋 이해
__데이터셋 획득 문제 해결
__의료 사본 데이터셋 이해
__아마존의 서평 데이터셋 이해
기준 접근법 구축
__기준 접근법 구현
____파이썬 종속 파일 설치
____코드 작성 및 요약 생성
__기준 접근법의 문제점
__기준 접근법 최적화
개선 접근법 구축
__개선 접근법 구현
____get_summarized 함수
____reorder_sentences 함수
____summarize 함수
____요약 생성
__개선 접근법의 문제점
__개선 접근법을 보완하는 방법
____LSA 알고리즘
____최선 접근법의 배경을 이루는 아이디어
최선 접근법
__최선 접근법 구현
____프로젝트 구조 이해
____도우미 함수 이해
____요약 생성
__아마존 서평을 사용해 요약 애플리케이션 만들기
____데이터셋 적재
____데이터셋 탐색
____데이터셋 준비
____딥러닝 모델 구축
____딥러닝 모델 훈련
____딥러닝 모델 테스트
요약
▣ 08장: 챗봇 개발
연구문제 진술 소개
__검색 기반 접근법
__생성 기반 접근법
__열린 영역
__닫힌 영역
__짧은 대화
__긴 대화
____열린 영역과 생성 기반 접근법
____열린 영역과 검색 기반 접근법
____닫힌 영역과 검색 기반 접근법
____닫힌 영역과 생성 기반 접근법
데이터셋 이해5
__코넬 영화 대사 데이터셋
____movie_conversations.txt에 담긴 내용의 세부 정보
____movie_lines.txt에 담긴 내용의 세부 정보
__bAbI 데이터셋
____The (20) QA bAbI tasks
챗봇 기본 버전 구축
__규칙 기반 시스템이 작동하는 이유는 무엇인가?
__규칙 기반 시스템 이해
__접근법 이해
__있음직한 질문/답변 나열
__표준 메시지 결정
__아키텍처 이해
규칙 기반 챗봇 구현
__대화 흐름 구현
__플라스크를 사용해 RESTful API 구현하기
규칙 기반 챗봇 테스트
__규칙 기반 챗봇의 장점
기존 접근법의 문제점
__접근법 최적화를 위한 주요 개념
____seq2seq 모델 이해
개선 접근법 구현
__데이터 준비
____질문-답변 쌍 생성
____데이터셋 전처리
____데이터셋을 훈련 데이터셋 및 테스트 데이터셋으로 분할하기
____훈련 데이터셋 및 테스트 데이터셋에 대한 어휘집 작성
__seq2seq 모델 구현
____모델 구성
____모델 훈련
개선 접근법 테스트
__테스트 개량 기준 이해
____복잡도
____손실
__개선 챗봇 버전 테스트
개선 접근법의 문제점
__당면 문제 해결에 필요한 핵심 개념
____기억 신경망
최선 접근법
__최선 접근법 구현
____마구잡이 테스트 모드
하이브리드 방식에 관한 토론
요약
▣ 09장: 실시간 물체 인식 앱 구축
연구문제 진술 소개
데이터셋 이해
__COCO 데이터셋
__PASCAL VOC 데이터셋
____PASCAL VOC 클래스
전이 학습
__전이 학습이란 무엇인가?
__사전 훈련 모델이란 무엇인가?
__사전 훈련 모델을 사용해야 하는 이유는 무엇인가?
__사전 훈련 모델을 사용하는 방법
코딩 환경 설정
__OpenCV 구성과 설치
기준 모델을 위한 특징 공학
머신러닝 알고리즘 선택
__MobileNet SSD 모델의 아키텍처
기준 모델 작성
테스트 계량 이해
__합집합 분의 교집합
__평균 정밀도의 평균
기준 모델 테스트
기존 접근법의 문제점
기존 접근법을 최적화하는 방법
__최적화 과정 이해
개선 접근법 구현
__개선 접근법 테스트
__개선 접근법의 문제점 이해
최선 접근법
__YOLO 이해
__YOLO의 작동 방식
__YOLO의 아키텍처
__YOLO를 사용한 최선 접근법 구현
____다크넷을 사용한 구현
____다크플로를 사용한 구현
요약
▣ 10장: 얼굴 검출 및 얼굴 감정 인식
연구문제 진술 소개
__얼굴 인식 애플리케이션
__얼굴 감정 인식 애플리케이션
코딩 환경 설정
__dlib 설치
__face_recognition 설치
얼굴 인식의 개념 이해
__얼굴 인식 데이터셋 이해
____CAS-PEAL Face Dataset
____Labeled Faces in the Wild
__얼굴 인식 알고리즘
____지향성 경사도 히스토그램
____얼굴 인식용 합성곱 신경망
얼굴 인식 구현 방법
__HOG 기반 접근법 구현
__CNN 기반 접근법 구현
__실시간 얼굴 인식 구현
얼굴 감정 인식을 위한 데이터셋 이해
얼굴 감정 인식 개념 이해
__합성곱 계층 이해
__ReLU 계층 이해
__풀링 계층 이해
__완전 연결 계층 이해
__소프트맥스 계층 이해
__역전파 기반 가중치 갱신
얼굴 감정 인식 모델 구축
__데이터 준비
__데이터 적재
__모델 훈련
____dataset_loader 스크립트를 사용한 데이터 적재
____합성곱 신경망 구축
____FER 애플리케이션에 대한 훈련
____훈련된 모델 예측 및 저장
테스트 계량 이해
모델 테스트
기존 접근법의 문제점
기존 접근법을 최적화하는 방법
__최적화 과정 이해
최선 접근법
__최선 접근법 구현
요약
▣ 11장: 게임봇 구축
연구문제 진술 소개
코딩 환경 설정
강화학습 이해
__마르코프 결정 과정
__할인된 미래 보상
기본 아타리 게임봇
__주요 개념 이해
____게임 규칙
____Q 학습 알고리즘 이해
게임봇의 기본 버전 구현
스페이스 인베이더 게임봇 구축
__주요 개념 이해
____심층 Q 신경망 이해
____경험 재연 이해
스페이스 인베이더 게임봇 구현
퐁 게임봇 구축
__주요 개념 이해
____게임봇의 아키텍처
____게임봇에 대한 접근법
퐁 게임봇 구현
__파라미터 초기화
__가중치를 행렬 형식으로 저장
__가중치 갱신
__에이전트를 움직이는 방법
__신경망을 사용한 과정 이해
그냥 재미로 플래피버드 게임봇 구현해 보기
요약
▣ 부록A: 치트 시트 목록
치트 시트
요약
▣ 부록B: 해카톤 승리 전략
해카톤 승리 전략
최신 정보 유지
요약