"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
#XGBoost와 사이킷런을 활용한 그레이디언트 부스팅
대상: 머신러닝 입문자
난이도: 쉬움
2022년 지금은 인공지능이라는 키워드가 학계와 산업 분야 뿐만 아니라 대중에게도 꾸준히 노출되는 시기이다. 예전엔 상상도 하지 못한 다양한 작업들이 인공지능을 통해 이루어지고 있으며, 그 형태도 상품 추천 및 의사 결정의 수준을 넘어 이미지 생성, 자연어, 자동 코드 작성 등 창작의 영역에도 이미 깊숙히 스며들고 있다. 그에 따라 인공지능이 다루는 데이터의 형태도 점점 다양해지고 있다. 인공지능 모델을 사용할 때 가장 기본적인 데이터는 행과 열로 구성된 테이블 데이터 (tabular data)이다. 이미지 및 언어 등과 같이 복잡한 자료에 비해 테이블 데이터는 인공지능 모델을 구축하기에 매우 편리하다. 테이블 데이터는 기본적으로 행 (row)을 샘플, 열 (column)을 특성으로 가지는 1차원 벡터 자료이다. 이러한 테이블 자료를 모델링하는데 매우 좋은 성능을 내는 모델이 바로 Extreme gradient boost (XGBoost) 모델이다. 이 책에서는 누구나 XGBoost 모델을 사용할 수 있게 쉽게 안내하고 있다.
책의 목차는 다음과 같다.
CHAPTER 1 머신러닝 개요
CHAPTER 2 결정 트리
CHAPTER 3 배깅과 랜덤 포레스트
CHAPTER 4 그레이디언트 부스팅에서 XGBoost까지
CHAPTER 5 XGBoost 소개
CHAPTER 6 XGBoost 하이퍼파라미터
CHAPTER 7 XGBoost로 외계 행성 찾기
CHAPTER 8 XGBoost 기본 학습기
CHAPTER 9 캐글 마스터에게 배우기
CHAPTER 10 XGBoost 모델 배포
APPENDIX A (한국어판 부록) 다른 그레이디언트 부스팅 라이브러리
이 책의 장점은 1장부터 곧바로 XGBoost를 활용하여 모델링을 시작한다는 것이다. 1장부터 먼저 XGBoost 적용 방법을 소개하고, 2-4장에서는 tree, bagging, random forest, boosting에 대한 간략한 설명과 Scikit-learn을 활용해서 모델링하는 예시를 보여준다. 같은 예시에 대해 여러 모델을 사용함으로써 직접적으로 성능을 비교하면서 간단한 모델 설명을 함께 하는 점은 입문자에게 큰 도움이 될 것이라 생각한다. 5장에서는 모델 최적화에 대한 수학적인 설명이 간단히 소개된다. 6장은 제공되는 함수에 대한 여러 파라미터에 대해 설명한다. 7장에서는 예시를 통해 over-, under-sampling 및 grid search등에 대해 소개하기 때문에 실전에서 필요한 부분에 대해 잘 소개한다. 나머지 장에서도 예시를 통해서 다양한 함수 및 파라미터에 대해 설명하고 있다. 파라미터를 변경함에 따른 성능 변화를 다뤄주고 있기 때문에, 직접적으로 예제를 따라서 모델링을 하지 않아도 책을 통해 대략적인 성능 차이를 예상할 수 있다는 것이 이 책의 장점이라 생각한다. XGBoost 함수에 대한 파라미터를 다양하게 설명하고 있어서, 기대했던 것보다 실전에서 큰 도움이 될 것으로 보인다. 머신러닝에 입문하는 사람과, 머신러닝 경험은 있지만 XGBoost를 본격적으로 사용하고 싶은 사람 모두에게 이 책을 추천한다.