전문가를 위한 머신러닝 솔루션

파이썬을 이용한 머신러닝 고급 문제 해결 기법

머신러닝할 때의 문제를 극복하기 위한 실습 위주의 실용 파이썬 솔루션!

머신러닝(machine learning, ML)을 이용하면 프로그램을 명시적으로 작성하지 않고도 데이터에 숨어 있는 통찰력을 드러낼 수 있다. 이 책은 업무 중 생길 수 있는 모든 머신러닝 문제를 푸는 열쇠 역할을 한다.

머신러닝 모델을 구축하는 동안 간단한 문제부터 복잡한 문제에 이르기까지 다양한 문제가 생길 수 있는데, 이 책에서 그러한 문제를 풀어보고 실용적인 접근법과 따라 하기 쉬운 예제를 통해 각 문제를 바탕으로 프로젝트를 완성해 나가는 방법을 배운다.

데이터셋과 사용 사례에 적합한 알고리즘을 알아내는 일, 데이터셋을 만들어 레이블을 붙이는 일, 처리 과정이 진행되기에 충분히 정제된 데이터를 획득하는 일, 이상점을 식별하는 일, 데이터셋에 과적합이 되지 않게 하는 일, 하이퍼 파라미터를 조율하는 일, 적시에 정확한 예측을 하는 방법 등 책에서 다루는 다양한 예제를 통해 실무에서도 충분히 활용할 만한 지식을 제공한다.

이 책을 다 읽고 나면 필요할 때 모델을 미세 조정하는 방법을 터득함으로써 생산성을 극대화할 수 있게 될 것이다.

 

★ 이 책에서 다루는 내용 ★

  • 머신러닝 분야에서 최적의 솔루션을 끌어내는 데 알맞은 알고리즘을 선택한다.
  • 머신러닝 알고리즘을 사용해 예측 분석을 효과적으로 수행한다.
  • 주가지수를 사용해 주가를 예측한다.
  • 고객 분석학을 바탕으로 전자상거래 플랫폼에 필요한 엔진을 구축한다.
  • 다양한 분야에 필요한 추천 엔진을 구축한다.
  • 다양한 분야에 필요한 자연어 처리 애플리케이션을 구축한다.
  • 다양한 자연어 처리 기술을 사용해 언어 생성 애플리케이션을 구축한다.
  • 표정 인식과 같은 컴퓨터 비전 애플리케이션을 구축한다.

잘라지 트하나키 (Jalaj Thanaki)

잘라지는 정보기술업, 출판업 및 금융업 근무 이력이 있는 숙련된 데이터 과학자이다. 『Python Natural Language Processing』(파이썬 자연 언어 처리)이라는 책의 저자이기도 하다. 자연 언어 처리, 머신러닝, 딥러닝 및 빅데이터 분석을 연구하는 데 관심이 있다. 데이터 과학자이기도 하지만 사회 활동가이자 여행가이며 자연을 사랑하는 사람이기도 하다.

박진수

다양한 개발, 저술, 번역 경험을 바탕으로 다양한 IT 융복합 사업을 전개하기를 바라며 1인 기업으로 발판을 다지고 있다. 번역한 책으로 《딥러닝 모델 설계를 떠받치는 기술》 《따라 하면서 배우는 유니티 ML-Agents》가 있다.

  • ▣ 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: 해카톤 승리 전략
    • 해카톤 승리 전략
    • 최신 정보 유지
    • 요약
  • 65쪽 마지막 문장은 66쪽 2장 첫줄로 옮깁니다.

    이번 장에서는 예측 분석에 속하는 놀라운 애플리케이션을 다룬다. 이번 장에서 무엇을 다루는지를 이