29 May 2022

머신러닝 알고리즘을 사용하다보면 보통 성능이 잘 나오는 트리계열의 알고리즘 위주로 사용하게 되는데 캐글이나 데이콘 대회를 볼 때도 트리 계열의 알고리즘들이 대체적으로 많이 사용되고 좋은 성능을 내는 편이다. 부스팅 계열 알고리즘은 여러 머신러닝 책에서도 다루기도 하지만 부스팅 계열의 알고리즘만을 다룬 책이라 부스팅 알고리즘을 제대로 배우고 싶다면 읽어보면 좋을 책이다.

책을 읽기 위해 필요한 기술

이 책을 읽기 위한 선수지식은 파이썬의 기본 문법과 행과 열에 대한 개념, 인덱싱 슬라이싱에 대한 이해인데 물론 다른 내용도 이해하고 있다면 더 좋겠지만 이 정도의 내용을 이해하고 있다면 만들어 보면서 필요한 내용들을 배울 수 있는 형태로 구성되어 있다. 그래서 가장 기본이 되는 결정트리 알고리즘부터 앙상블, 배깅에서 부스팅으로 이어지는 과정으로 설명하고 있다. 캐글에서 getting-started 대회 정도를 해봤다면 무리 없이 읽어볼 수 있지 않을까 싶다.

옮긴이의 말

옮긴이의 말이 부스팅 알고리즘을 너무 잘 설명하고 있어서 그간 배워왔던 방법의 오차를 잠시 되돌아 보기도 했는데 이 책의 역자 분은 번역 뿐만 아니라 책의 말미에 역자 부록을 대부분 추가해서 원서 그 이상의 책으로 번역을 해주신다. 이 역자분의 책을 읽을 때마다 배우고 싶은 모습이 많다.

데이터 과학 전문가를 위한 XGBoost와 사이킷런 활용법

이 책을 읽기 위한 최소한의 기술은 행과 열에 대한 개념, 슬라이싱, 함수작성, 메서드 호출 방법 정도라도 다루고 있는 내용은 실무를 위한 기본과 그 이상이다. 부록에서 다른 부스팅 계열의 알고리즘을 사용하며 스태킹 등의 기술을 소개하는 것도 인상적이다. 캐글이나 실무에서 좋은 스코어를 얻고자 한다면 이 책이 좋은 선택이 될 것이다.

  • 사례를 통한 사이킷런 API와 원본 파이썬 API 방식으로 XGBoost의 분류 모델과 회귀모델을 만드는 방법을 연습
  • XGBoost 하이퍼파라미터를 활용하여 성능개선, 누락된 값 수정 및 불균형 데이터 세트 적용
  • 기본 학습기 튜닝
  • 상관관계가 낮은 앙상블과 스태킹 모델 만들기
  • 모델 배포를 위해 희소행렬과 사용자 정의 변환기, 파이프라인 기술

목차

기본 결정트리를 이해하고 단계별로 앙상블과 배깅, 부스팅에 대한 개념을 이해하며, XGBoost의 수학적 이론, 모델 튜닝과 성능개선, 부록의 다른 부스팅 알고리즘까지 트리계열 알고리즘을 이해할 수 있는 체계적인 구성으로 되어 있다.

한국어판 부록 다른 그레디언트 부스팅 라이브러리

역자분이 번역한 책들의 대부분이 번역도 친절하지만 역자 분만의 한국어판 부록까지 있는데 XGBoost 외에도 다양한 경진대회에서 사용되고 있는 알고리즘을 소개하고 있다는 점이다. XGBoost와 함께 많이 사용되는 주요 부스팅 알고리즘과 사용법, 부록코드까지 제공하고 있다.

LightGBM

LightGBM 에 대한 소개와 함께 실습 예제도 함께 실려있다. 설명가능한인공지능(XAI)처럼 LightGBM의 리프노드에 대한 트리 시각화 예제가 있어서 인상적이었다.

사이킷런의 히스토그램 기반 그레디언트 부스팅

LightGBM에서 영향을 받은 히스토그램 기반 그레디언트 부스팅 구현에 대한 소개가 있고 누락된 값(결측치)를 따로 전처리 하지 않아도 된다는 특징이 있다. 자체적으로 특성 중요도를 제공하고 있지 않지만 permutation_importance 를 통해 실습 예제를 구성하여 어떤 피처가 중요한 역할을 하는지 시각화 해볼 수 있는 팁도 좋았다.

CatBoost

범주형 특성을 원-핫 형태로 변경하지 않아도 되는 범주형 데이터 처리가 편리한 Catboost 는 누락된 값을 처리하지 못하는 차이점 등을 설명하고 있으며 XGBoost와 비교하여 깊이별 성장 방식을 사용하지만 대칭적인 구조를 가지는 점, 깊이가 같은 노드는 모두 동일한 특성을 사용하여 분할하고 이를 통해 속도를 높이고 과대적합을 방지하는 설명이 있다. 또, 자체적으로 그리드서치와 랜덤서치를 제공하며, 부스팅 라운드에 따라 RMSE값을 비교해 볼 수 있는 예제를 제공하고 있다.

트리계열 알고리즘을 단계별로 이해하고 체계적으로 사용하기 위해 이 만한 책이 또 있을까 싶다. 역자 분의 노고가 깃든 역서를 볼 때마다 배우고 싶은 점이 많다.

이 리뷰는 한빛미디어의 나는 리뷰어다 이벤트를 통해 책을 제공받아 작성했습니다.