zid***
2019-11-15

200여 개의 비법 레시피를 제공하는 이 책은 실무에서 접하는 다양한 머신러닝 문제를 해결하도록 도와준다. 판다스나 사이킷런 같은 파이썬 라이브러리로 데이터 적재, 텍스트나 수치형 데이터 다루기, 모델 선택, 차원 축소 등 다양한 문제를 해결할 수 있다.
인공지능의 한 분야인 머신 러닝은 사람이 학습하듯이 컴퓨터에도 데이터들을 입력하여 학습하게 한 이후 이를 기반으로 의미있는 데이터를 예측하는 기술이다. 머신 러닝이 점점 대중화되면서 공부하고, 연구하는 사람도 많아지고 있다. 그런데 이 책은 머신러닝이라는 개념을 파이썬으로 예제 코드로 작성하여 동작시켜 볼 수 있도록 해주는 책이다.
이 책은 머신러닝 입문서가 아니라, 머신러닝 기본 개념에 익숙하지 않거나 머신러닝을 배운적이 없다면 이 책을 사지 말아달라고 하는 대담합도 보인다. 파이썬의 기본 문법을 알고 있으면서 머신러닝 이론과 개념에 익숙한 머신러닝 기술자를 위한 책이다. 파이썬 설치 방법, 패키지 설치 방법이 기재되지 않기 때문에 파이썬에 대한 공부는 미리 하고 보는게 좋을 듯 하다.
책의 초반부에는 머신러닝의 기초라고 할 수 있는 벡처, 행렬, 배열을 다루기 위해, NumPy 라이브러리를 다루는 방법에 대해 소개한다. 그 다음으로는 데이터를 적재하기 위해 pandas 라이브러리와 scikit-learn이라는 라이브러리를 사용하는 방법에 대해서 다룬다. pandas 라이브러리는 csv 파일이나 엑셀, 데이터 베이스 같은 다양한 소스로부터 데이터를 적재하기 위한 라이브러리이고, scikit-learn 라이브러리는 모의 데이터를 생성하는데 사용하는 라이브러리다.
그리고 텍스트 형으로 이루어진 데이터에서 필요한 부분만을 추출하기 위한 파싱 방법을 다루고 있다. 이미지에 대한 데이터를 다루기 위해 OpenCV 라이브러리를 사용하는 방법도 다룬다.
이제까지가 머신러닝에 대한 내용을 다루기위한 전단계라고 볼수 있고, 9장부터 21장까지 본격적인 머신러닝 개념을 다루고 있다. 9장에서부터는 머신러닝에 대한 기본적인 내용을 알고 있어야 수월하게 공부할 수 있을 듯 하다. 뒤 페이지로 갈수록 어려운 수식들과 어려운 용어도 많이 등장하게 된다.
어려운 내용이 많지만, 책에 있는 예제 코드를 실행하면 바로 결과물을 얻을 수 있기 때문에 실습해 보기에 좋은 책이다. 예제 코드에 대한 주석이 정리되어 있어 이해하는데 많은 도움을 준다. 아쉬운 점은특정 메서드나 클래스의 사용법에 대하여 다양한 옵션이나 유사 함수들을 충분히 설명하지는 않는다.