Python Machine Learning By Example, 에이콘 출판사
요우시 리우 지음, 남궁영환 옮김
[목차]
1장. 파이썬과 머신 러닝 시작하기
2장. 텍스트 분석 알고리즘을 이용한 20 뉴스그룹 데이터세트 분석
3장. 나이브 베이즈를 이용한 스팸 메일 탐지
4장. SVM을 이용한 뉴스 토픽 분류
5장. 트리 기반 알고리즘을 이용한 클릭스루 예측
6장. 로지스틱 회귀를 이용한 클릭스루 예측
7장. 회귀 알고리즘을 이용한 주가 예측
8장. 모범 사례
이 책은 머신러닝 실전 예제가 담긴 책 중에서 따라하기 쉽고, 전반적인 개념 설명이 같이 되어 있는 책을 고르다 선택하게 되었다. Scikit-Learn 만 import 해서 사용하는 예제의 경우는 Scikit-Learn API 에 대해 탐험하는 기분이지, 머신러닝에 대해 뭘 이해하면서 적용한다는 생각이 안 든다. 반면에, 통계나 데이터 사이언스에 집중하는 경우에는 머신러닝 실 예제가 부족해 개념의 적용이 쉽지 않다는 단점이 있었다. 베스트 셀러 코너에 있는 “처음 배우는~” 시리즈 등은 너무 피상적으라 실질적인 도움이 되지 않는다.
일단 번역서라 발번역의 위험성을 따져 보았는데, 다행히 그런 부분은 보이지 않았고 다만 수식을 LaTex 등으로 깔끔하게 정리하지 않고 일반적인 워드 문서로 작성한 부분이 편집의 아쉬움이었다. 한 가지 이 책의 혹평이 올라온걸 봤는데 한글 번역본에서 예제 코드에 대한 검증을 제대로 하지 않아서인지 아니면 전혀 이 방면과 거리가 먼 분이 옮겼는지 작은 실수들이 너무 많다는데 있다. 저자의 홈페이지에 올라온 소스코드가 아니었다면 좀 많이 헤맬 수도 있는 부분이있었다.
이 책은 전반적으로 자연어 Classification 에 집중하여 알고리즘들을 소개한다. 나이브 베이즈에 대해서 개념적으로 아주 명확하게 소개하고, 예제도 직접 Python 코드를 활용하여 likelihood, prior 확률을 계산하는 과정을 보여준다. 일반적으로 Scikit-learn code 몇 줄로 간단히 계산되지만, 이렇게 알고리즘을 풀어서 설명해 주는 편이 낫다고 본다. 알고리즘에 대한 평가 부분에 대해서도 상세하게 설명한다.
나이브 베이즈 다음으로 Support Vector Machine 이나 Random Forest 예제를 통해서 분류 알고리즘들을 더 확인해 보고 GridSearch 기법을 통하여 알고리즘과 파라미터 조합을 한꺼번에 실행하는 법도 배운다. 마지막의 모범사례 chapter 에선 데이터의 준비 및 적절한 알고리즘의 선정, 평가 방법과 시스템 배포에 대한 현실적인 부분들을 고민해 볼 수 있게 한다.
전반적으로 Python 예제들로 머신러닝에 대한 감을 읽히는데 큰 도움을 주는 책인 것임에는 틀림없다. 예제의 오타를 감안하더라도 사서 볼만한 책이라 추천한다.