본문 바로가기

book

XGBoost와 사이킷런을 활용한 그레이디언트 부스팅

머신러닝 알고리즘  XGBoost를 다루는 국내 최초의 번역서가 나와서 인기가 많은 책입니다.

큰 분류에서 언급만 되고 있는 책은 몇가지 있지만, Desion Tree에 대해서 좀더 심도있게 다루고

점차 기술적인 발전을 통해서 Gradient Booting까지 학습하기에 많은 내용이 상세히 설명되어 있습니다.

 

■ 책 소개

머신러닝 알고리즘으로 요즘 유명한 XGBoot에 대해서 설명합니다.

캐글의 상위권 랭킹점수에서 많이 사용하고 있다고 유명해졌습니다.

박해선님께서 번역을 하신 역저입니다.

(역시 이번에도 번역 및 국내 번역서에만 추가되는 별도의 부록을 제공해서 인상깊었습니다. 관련 부분은 아래에서 추가 언급을 하도록 하겠습니다.)

책이 출간되기 전에도 많은 분들이 원서 및 관련 기술을 적용하는 사례가 많이 있었습니다.

책은 P.380이며 그렇게 두껍지 않고 All-Color입니다.

 

 XGBoost를 사용하는 방법은 많이 있지만, 가장 많이 사용하고 보편화된 

사이킷런  환경에서 동작하는 구성으로 되어 있고, 주피터 노트북 및 코랩에서 제공되는 샘플을 구현할 수 있게 제공합니다.

 

■ 머신러닝 알고리즘 중에 XGBoost 포지션

머신러닝의 주요 알고리즘은 아래와 같은 사항들이 있습니다. (유튜브 : 데싸노트 내용 정리) 

① Linear Regression (선형 회귀)

② Logistic Regression (로지스틱 회귀)

③ Decision Tree (결정 트리)

④ Random Forest ( 설명 : 앙상블 기법)

⑤ Kmeans Clustering

 

여기서 ③ Decision Tree을 좀더 세분화 해서 기술의 발전 방향을 정리하면 아래 그림과 같습니다.

문제를 풀기 위해서 각 알고리즘 중에 한가지를 사용하는 것이고,

선형회귀는 회귀 문제를 풀기 위해 사용할수 있는 많은 알고지즘중 하나이며,

다양한 회귀모델에서 조금 더 좋은 점수를 가지기 위한 방법중에 결정트리 기법도 사용됩니다.

 

결정트리 방식도 기술적인 발전이 있어서 위에 표에서 언급된 대로

Decision Tree → 배깅 → 랜덤포레스트 → 부스팅 → 그레이디언트 부스팅 → XGBoost로 발전이 있었습니다.

 

■ 대상독자

위에서 언급한 XGBoost의 기술적인 포지션을 확인하고, 

결정트리에 및 배깅, 부스팅 기법에 관심이 많은 독자분들이면 많은 도움을 받으실수 있습니다.

☞ Decision Tree (결정트리 머신러닝 알고리즘)을 학습 및 관심이 많은 독자분

☞ XGBoost를 조금더 세부적으로 학습하려고 하는 독자분

☞ XGBoost이후에 나온 다른 알고리즘 LightGBM, CatBoost기법에 대해서 관심 있는 독자분

캐글에서 XGBoost를 적용해보고 싶은 독자분

 

 

 

■ 책의 구성

XGBoost에 대한 설명으로만 구성되어 있지 않고 결정트리에 대한 전반적인 부분이 Part1에 설명되어 있고,

Part2,3에서는 심도있게 XGBoost에 대해서 설명이 됩니다.

 

책의 흐름을 보면 결정트리의 흐름이 PART1에서 설명되어 지고

PART2,3에서 XGBoost에  설명이 되어집니다.

XGBoost도 Sklearn에서 동작되며 X_train, X_test, y_train, y_test 셋을 구성하는 방식으로 구성됩니다.

분류모델을 구성하는 방법에 대해서 설명합니다.

 

하이퍼파라미터에 대해서 상세히 설명 합니다.

그레이디언트 부스팅의 파라미터도 포함되어 있습니다.

심장질환 데이터 셋을 가지고 하이퍼파리미터를 조정하고 조기종료의 방식도 실습합니다.

중간중간에 역자노트 의 섹션으로 추가 보충내용이 인상이 깊었습니다.

 - 사이키런의 분할기 클래스 사용법

 - XGBoost사이킷런 API로 모델 평가하기

 - 분류 리포트 자세히 알아보기 등등 많은 섹션이 곳곳에 추가되어 있습니다.

 

gblinear, DART, XGBoot랜덤포레스트 기법에 대한 설명도 이론을 정립하기에 잘 설명되어 집니다.

사이킷런 환경에서 XGBoost로 전환해서 적용하려고 하는 방법도 구체적으로 예시를 제공합니다.

 

■ 부록에 대해서

한국어판에서는 추가적으로 관심이 많이 있을 다른 라이브러리에 대해서 설명합니다.

저는 이부분도 많이 좋았습니다.

LightGBM, CatBoost에 대한 이론적인 부분과 예제코드를 통해서 기존 방식과 차이점을 제시하며

활용가능하도록 언급되어 있습니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."