메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

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

캐글 고수에게 배우는 실전 파이썬 머신러닝, 코랩에서 실습 가능

한빛미디어

번역서

판매중

  • 저자 : 코리 웨이드
  • 번역 : 박해선
  • 출간 : 2022-04-08
  • 페이지 : 380 쪽
  • ISBN : 9791162245392
  • 물류코드 :10539
초급 초중급 중급 중고급 고급
4.9점 (22명)
좋아요 : 1

캐글 우승자들의 머신러닝 우승 비법이자 현존하는 가장 우월한 머신러닝 모델 XGBoost

 

이 책은 기본적인 머신러닝과 판다스부터 사용자 정의 변환기, 파이프라인과 희소 행렬로 새로운 데이터의 예측을 만드는 강력한 XGBoost 모델 튜닝까지 모두 다룹니다. 또한 XGBoost의 탄생 배경과 XGBoost를 특별하게 만드는 수학적 이론과 기술, 물리학자와 천문학자가 우주를 연구하는 사례 연구까지 다양한 XGBoost의 흥미로운 이야기와 캐글 마스터들의 우승 비법까지 소개합니다. 마지막으로 더 확실한 이해를 위해 원서에는 없는 친절하고 상세한 역자 노트와 다른 그레이디언트 부스팅 라이브러리를 배울 수 있는 한국어판만의 부록을 추가하여 내용을 더욱 가득 채웠습니다. 이 책 한 권이면 복잡한 XGBoost 개념을 완벽하게 이해하고 제품을 위한 머신러닝을 구축해볼 수 있게 됩니다. 그레이디언트 부스팅을 현업에 적용해보고 싶은 머신러닝 엔지니어나 캐글 대회를 준비하고 있는 캐글 도전자에게 훌륭한 안내서가 되어줄 것입니다.

 

 

상세이미지_XGBoost와 사이킷런을 활용한 그레이디언트 부스팅_940px.jpg

코리 웨이드 저자

코리 웨이드

수학과 예술 분야 석사이고 버클리 코딩 아카데미(Berkeley Coding Academy)의 설립자이자 이사로 전세계 10대들에게 머신러닝과 인공지능을 가르치고 있습니다. 또한 코리는 버클리 고등학교 독립 학습 프로그램의 수학 분야 의장으로서 프로그래밍과 고등 수학을 가르치고있습니다. 기초적인 자연어 처리를 가르치며, 패스스트림(Pathstream)과 데이터 과학 커리큘럼을 개발하고, 투워드 데이터 사이언스(Towards Data Science), 스프링보드(Springboard), 미디엄(Medium)에 통계학과 머신러닝 글을 기고합니다. 『The Python Workshop』(Packt, 2019)의 공동 저자이기도 합니다.

박해선 역자

박해선

 
 

기계공학을 전공했지만 졸업 후엔 줄곧 코드를 읽고 쓰는 일을 했습니다. 텐서플로 블로그

(tensorflow.blog )를 운영하고 있고, 머신러닝과 딥러닝에 관한 책을 집필하고 번역하면서

소프트웨어와 과학의 경계를 흥미롭게 탐험하고 있습니다. 『혼자 공부하는 머신러닝+딥러닝』(한빛미디어, 2020), 『Do it! 딥러닝 입문』(이지스퍼블리싱, 2019)을 집필했습니다. 『파이썬 라이브러리를 활용한 머신러닝(번역개정2판)』(한빛미디어, 2022 ), 『머신러닝 파워드 애플리케이션』(한빛미디어, 2021 ), 『파이토치로 배우는 자연어 처리』(한빛미디어, 2021 ), 『머신 러닝 교과서 with 파이썬, 사이킷런, 텐서플로(개정3판)』(길벗, 2021 ), 『딥러닝 일러스트레이티드』(시그마프레스, 2021 ), 『GAN 인 액션』(한빛미디어, 2020 ), 『핸즈온 머신러닝(2판)』(한빛미디어, 2020 ), 『미술관에 GAN 딥러닝 실전 프로젝트』(한빛미디어, 2019 ), 『파이썬을 활용한 머신러닝 쿡북』(한빛미디어, 2019 ), 『케라스 창시자에게 배우는 딥러닝』(길벗, 2018 )을 포함하여 여러 권의 책을 우리말로 옮겼습니다.

CHAPTER 0 코딩 환경 설정

0.1 아나콘다

0.2 주피터 노트북 사용하기

0.3 XGBoost

0.4 버전

 

 

PART 1 배깅과 부스팅


CHAPTER 1 머신러닝 개요

1.1 XGBoost 소개

1.2 데이터 랭글링

1.3 회귀 모델 만들기

1.4 분류 모델 만들기

1.5 마치며

 

CHAPTER 2 결정 트리

2.1 결정 트리 소개

2.2 결정 트리 알고리즘

2.3 분산과 편향

2.4 결정 트리 하이퍼파라미터 튜닝

2.5 심장 질환 예측하기 - 사례 연구

2.6 마치며

 

CHAPTER 3 배깅과 랜덤 포레스트

3.1 배깅 앙상블

3.2 랜덤 포레스트 살펴보기

3.3 랜덤 포레스트 매개변수

3.4 랜덤 포레스트 성능 높이기 – 사례 연구

3.5 마치며

 

CHAPTER 4 그레이디언트 부스팅에서 XGBoost까지

4.1 배깅에서 부스팅까지

4.2 그레이디언트 부스팅 작동 방식

4.3 그레이디언트 부스팅 매개변수 튜닝

4.4 빅 데이터 다루기 - 그레이디언트 부스팅 vs XGBoost

4.5 마치며

 

 

PART 2 XGBoost


CHAPTER 5 XGBoost 소개

5.1 XGBoost 구조

5.2 XGBoost 파라미터 최적화

5.3 XGBoost 모델 만들기

5.4 힉스 보손 찾기 – 사례 연구

5.5 마치며

 

CHAPTER 6 XGBoost 하이퍼파라미터

6.1 데이터와 기준 모델 준비

6.2 XGBoost 하이퍼파라미터 튜닝

6.3 조기 종료 적용

6.4 하이퍼파라미터 결합

6.5 하이퍼파라미터 조정

6.6 마치며

 

CHAPTER 7 XGBoost로 외계 행성 찾기

7.1 외계 행성 찾기

7.2 오차 행렬 분석하기

7.3 불균형 데이터 리샘플링

7.4 XGBClassifier 튜닝

7.5 마치며

 

 

PART 3 고급 XGBoost


CHAPTER 8 XGBoost 기본 학습기

8.1 여러 가지 기본 학습기

8.2 gblinear 적용하기

8.3 dart 비교하기

8.4 XGBoost 랜덤 포레스트

8.5 마치며

 

CHAPTER 9 캐글 마스터에게 배우기

9.1 캐글 대회 둘러보기

9.2 특성 공학

9.3 상관관계가 낮은 앙상블 만들기

9.4 스태킹

9.5 마치며

 

CHAPTER 10 XGBoost 모델 배포

10.1 혼합 데이터 인코딩

10.2 사용자 정의 사이킷런 변환기

10.3 XGBoost 모델 만들기

10.4 머신러닝 파이프라인 구성하기

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

 

XGBoost는 빠르고 효율적으로 수십억 개의 데이터 포인트에 적용하기 위한 그레이디언트 부스팅 프레임워크로, 업계에서 입증된 오픈 소스 소프트웨어 라이브러리입니다. 이 책은 그레이디언트 부스팅에 대한 이론을 설명하기 전에 사이킷런으로 머신러닝과 XGBoost를 소개합니다. 결정 트리를 다루고 머신러닝 관점에서 배깅을 분석하며 XGBoost까지 확장되는 하이퍼파라미터를 배우겠습니다. 밑바닥부터 그레이디언트 부스팅 모델을 구축해보고 그레이디언트 부스팅을 빅 데이터로 확장하면서 속도의 중요성을 설명합니다. 그리고 속도 향상 및 수학적인 이론에 초점을 두고 XGBoost의 세부 사항을 알아봅니다. 자세한 사례 연구를 이용하여 사이킷런 API와 원본 파이썬 API 방식으로 XGBoost 분류 모델과 회귀 모델을 만들고 튜닝하는 방법을 연습합니다. 또한, XGBoost 하이퍼파라미터를 활용하여 성능 개선, 누락된 값 수정 및 불균형 데이터 세트 적용, 그리고 다른 기본 학습기를 튜닝합니다. 마지막으로 상관관계가 낮은 앙상블과 스태킹 모델을 만들어보고, 모델 배포를 위해 희소 행렬과 사용자 정의 변환기, 파이프라인과 같은 고급 XGBoost 기술을 적용합니다.

 

 

주요 내용

  • 그레이디언트 부스팅 모델 구축
  • 정확하고 빠른 XGBoost 회귀 및 분류 모델 개발
  • XGBoost 하이퍼파라미터 미세 조정 측면에서 분산 및 편향 분석
  • 상관관계가 없는 앙상블을 구축하고 XGBoost 모델을 스태킹하여 정확성 향상
  • 다트, 선형 모델 및 XGBoost 랜덤 포레스트와 같은 기본 학습기 적용
  • 사용자 정의 변환기와 파이프라인을 사용한 XGBoost 모델 배포
  • 누락된 값 자동 수정 및 불균형 데이터 조정

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

     

    2014년에 처음 나오기 시작한 뒤로부터 꾸준한 사랑을 받고 있는 xgboost입니다.

    캐글에서 xgboost를 사용한 팀들이 압도적으로 우승을 하여 유명해진 알고리즘입니다.

    기초부터 xgboost의 원리를 통해 알고리즘의 원리를 알 수 있어서 매우 좋았습니다.

    캐글을 공부하면서 xgboost에 대한 설명이 부족하여서 공식 홈페이지를 보아도 잘 이해를 못하는 경우가 많았었는데, 좋은 책이 나와 xgboost를 더 잘 이해할 수 있게 되었습니다.

    번역된 초기버전은 되게 오탈자도 많고 오류가 많은데 믿고 보는 박해서님의 번역서라 그런지 오류가 거의 없는 형태였고, 읽기도 굉장히 편리하였습니다. 특히 번역자분의 노고가 많이 느껴지도록 세세하게 글이 서술되어 있습니다. 또한 실습도 유연하게 지나갈 수 있도록 책이 구성이 되어있어 참고서적으로도 굉장히 좋은 책이라 생각됩니다.

    Graident boosting은 회귀 분석 또는 분류를 구성하는 예측 모형으로 성능이 좋다고 알려져 있기 때문에 제대로 이해하는게 매우 중요합니다.

    원서엔 없는 lightGBM과 Catboost 관련 내용도 수록이 되어 있어 xgboost와 비교하면서 보기에도 너무나 좋았습니다.

    tabular data는 웬만하면 트리 모델이 더 좋다(Borisov V, Leemann T, Seßler K, Haug J, Pawelczyk M, Kasneci G. Deep neural networks and tabular data: A survey. arXiv preprint arXiv:2110.01889. 2021 Oct 5.) 라는 논문도 최근에 발표한 적이 있는 형태입니다.

    xgboost를 많이 안써보거나 제대로 써보고 싶은 분들에게 적극적으로 추천하는 책입니다.

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

     

    장점

    1.     Overfitting 최소화 하는 방법 하나인 앙상블 기법의 본질을 이해할 있으며 머신러닝 기법중 하나인 의사결정트리로 부터 트리 구조의 장단점을 있으며 단점인 부분은 Boosting Bagging 적용하여 성능 향상방법 원리를 쉽게 이해할 있음

    2.     머신러닝 파이프 라인 순서대로 진행하여 데이터 랭글링(수집,정재,분석,조작)하는 방법과 모델의 하이퍼 파라미터를 조절하여 교차 검증과 혼돈행렬을 통해 성능비교 하는 방법을 있음

    3.     XGBoost 원리를 통해 손실함수로 부터 분류와 회귀의 원리를 있으며 규제 함수를 통해 데이터의 일반화 방법을 있다.

    단점

    1.     없음

    후기

    1.     캐글에서 자주 사용하는 XGBoost 써보면서 성능도 성능이지만 결측치를 무시하면서 최적의 학습하면서 속도와 성능을 잡아 테이블 데이터로부터 분류나 회귀를 구할 모델로 가장 이상적이라고 생각한다.

    KakaoTalk_Photo_2022-05-31-17-34-59.jpeg

     

     

  • 인공지능 붐이 인지 제법 시간이 되어가는데 그 열기가 식을줄 모르는 것 같다, 덩달아 관련 책들이 서점에 도배하다 시피 진열되어 있다.


    2018년, 2019년까지는 다양한 입문서 위주로 책들이 나왔던것 같고 2020년부터는 다양한 활용서, 중급이상의 고급 기술서 그리고 새로운 모델과 기술들에 대한 내용을 다루는 책들도 점차 많아지고 있다. 이제 우리가 하는 흔한 CNN, RNN 등등을 설명하는 책들보다는 최소 한단계 수준이 높아졌다고 봐야할듯 그만큼 관련 분야가 보편화되고 매우 빠르게 발전하고 있고 그 발전에 대한 내용을 책을로 엮어내는 경우가 많아졌다는 의미일테다... 그리고 인공지능에 필요한 수학들을 다루는 책들도 많아졌고...


    그런의미에서 그레디언트 부스팅, 그중에서도 XGBoost를 설명하고 있는 재미난 책이 한권이 출판된 것 같다.


    앙상블 알고리즘을 크게 배깅과 부스팅으로 나눌수 있는데 그레디언트 부스팅은 그중 부스팅 계열 앙상블 알고리즘이다. 그레디언트 부스팅 알고리즘은 회귀분석 또는 분류를 구행하는 예측모형으로 tabular format data(row와 column 형태의 table 형식)에 대한 예측 성능이 가장 높다고 알려진 알고리즘이다.


    이를 지원하는 주요 패키지로 LightGBM, CatBoost, XGBoost 가 있는데 이 책은 그중 XGBoost와 사이킷런을 이용하여 그레디언트 부스팅을 수행하는 방법을 설명하고 있다.


    번역은 유명한 박해선님이 맡아서 진행을 했고 그레디언트 부스팅에 대한 출간된 단행본이라 내용도 모델의 성능을 고민해보는 분들에게 좋은 지침이 될 만하다 생각한다.


    번역서에는 원서에 없는 LightGBM과 CatBoost 관련 내용도 부록에 수록해놨으니 XGBoost와의 차이나 개별 모듈에 대한 특징을 간단하게나마 살펴보고 비교해 볼 수 있을 꺼라 생각한다.


    흔하디 흔한 머신러닝/딥러닝 책에 식상함을 느낀다면 꼭한번 책겨볼만한 좋은 책이라 생각한다.


    ※ 본 리뷰는 IT 현업개발자가, 한빛미디어 책을 제공받아 작성한 서평입니다.

  • 

    딥러닝 관련 공부만 하다가 머신러닝 최신 기법들을 놓치고 있다는 생각이 들어 공부해야지 생각만 하고 미루고 있었다. 특히 XGBoost는 캐글 등 여러 공모전에서 제일 많이 쓰이는 알고리즘인데, 아직까지 잘 모르고 있었다. 그러던 중에 좋은 기회가 생겨 이 책을 보게 되었다.

     

    기본적으로 XGBoost는 그레디언트 부스팅으로부터 시작된다. 결정 트리는 잘 일반화되지 못하여 배깅과 부스팅을 통해 앙상블하여 문제를 해결하고자 하였다. 이러한 앙상블 모델 중에 가장 우수한 모델이 그레이디언트 부스팅이다. 이를 더 향상시킨 것이 XGBoost이다.

     

    책에서는 기본적인 결정 트리, 배깅, 부스팅의 개념을 친절하게 설명하고 실제 데이터에 적용하며 차근차근 XGBoost에 이르게끔 해준다. (코랩에서 실습이 가능하다.) 친절하게 개념 설명과 수식 설명도 되어 있고, 안의 하이퍼파라미터들도 잘 설명이 되어 있어 나에게는 많은 도움이 되었다. 캐글 마스터의 XGBoost 사용 시 유용한 스킬에 대해서도 배울 수 있어서 이런 점은 정말 좋았다.

     

    그렇지만 너무 자세하게 나와 있다는 생각도 조금 든다! 시간이 많이 있는 사람들에게는 완전 강추하는 책이지만 프로젝트에 많이 써서 궁금한 정도라면 필요한 부분만 골라서 읽는 것도 나쁘지 않은 것 같다.

    

  •  저도 데이콘에서 데이터가 많이 없는 경진대회의 경우 머신러닝 모델을 많이 사용합니다. 그중에서도 XGBoostLightGBMCatboost 등을 애용하고, 이들을 스태킹 하는 방법을 주로 사용합니다. 이 책도 XGBoost에 대해 중점적으로 다루고 있지만 새로운 특성을 만드는 피처 엔지니어링앙상블스태킹 등 캐글 대회에서 상위권을 노릴 수 있는 강력한 머신러닝 기법들을 소개하고 있습니다. 

     

     

    이 책은 그레이디언트 부스팅을 크게 업그레이드시킨 모델로 정확도와 속도를 달성하기 위해 계산량을 극대화한 XGBoost에 대해서 소개하고 있다. 캐글 대회에서 압도적으로 우승을 많이 한 모델로 아직까지도 사랑받고 있는 모델 중 하나이다.

     

    이 책의 핵심 주제는 XGBoost의 구조, 기능, 성능이지만 1장에서는 머신러닝을 위한 데이터 준비. 즉 데이터 랭글링에 대해서도 친절하게 설명해주고 있다.

     

    데이터 랭글링이란 머신러닝을 시작하기 전에 다양한 데이터 전처리 단계를 포함하는 광범위한 용어이다. 데이터를 로드하고, 전체 구조를 살피고누락된 값을 처리하고, 수치 특성으로 데이터를 변환하고, 훈련 세트와 테스트 세트로 나누고교차 검증을 수행하는 등 데이터 로딩, 정제, 분석, 조작이 모두 데이터 랭글링에 포함된다.

     

    이러한 데이터 랭글링 과정이 책의 전 범위에 걸쳐 사용되므로 꼭 익혀야 할 개념 중의 하나이다.

     

     

    3장에서는 XGBoost의 경쟁 도구이자 대표적인 앙상블 방법인 랜덤 포레스트에 대해 설명한다. 배깅과 부스팅에 대한 개념 설명부터 랜덤 포레스트의 성능을 높이기 위해 warm_start 매개변수로 n_estimators 를 조절하고 oob_score_ 점수를 사용해 오차를 측정하는 방법을 제시한다.

     

     

    본격적인 XGBoost에 대한 설명은 5장에서 시작된다.

    XGBoost는 속도에 주안점을 두어 설계되었는데, 다음과 같은 기능 덕분에 다른 앙상블 알고리즘에 비해 큰 장점을 가지고 있다.

    • 근사 분할 탐색 알고리즘
    • 희소성 고려 분할 탐색
    • 병렬 컴퓨팅
    • 캐시 고려 접근
    • 블록 압축과 샤딩

    이 외에도 XGBoost로 최상의 머신러닝을 만들기 위해 사용하는 파라미터 최적화와 수학 공식 등을 소개하고, XGBoost를 세상에 알리게 된 캐글 대회인 힉스 보손 (Higgs boson) 대회를 위한 모델을 만들 수 있다.

     

     

    9장에서는 XGBoost를 사용해 캐글 대회에서 우승한 캐글 마스터의 팁과 기법들을 배울 수 있다. 강력한 머신러닝 모델을 만드는 데 적용할 수 있는 기술인 Feature Engineering홀드 아웃 세트, VotingClassifier와 VotingRegressor를 사용해 상관관계가 낮은 머신러닝 앙상블을 만드는 방법, 최종 모델을 위해 스태킹을 사용하는 방법과 그 장점에 대해 배울 수 있다.

     

     

     

    10장에서는 튜닝보다는 프로세스에 중점을 두어 앞 장에서 배운 모든 것을 연결하여 제품으로 사용할 수 있는 강력한 머신러닝 모델을 만드는 새로운 방법을 배운다. NullValueImputer 클래스, ColumnTransformer 등 여러 종류의 누락된 값을 대체하는 변환기를 만드는 방법, 여러 종류의 특성으로 구성된 데이터를 원-핫 인코딩하는 방법, 이 모든 과정들을 scikit-learn의 Pipeline 모듈을 이용하여 전처리 과정과 모델링 과정들을 하나의 파이프라인으로 만드는 방법을 배운다.

     


     

    이 책을 보면 시중에 나온 캐글 상위권을 위한 팁들을 모아놓은 책들을 볼 필요가 없겠다고 느껴졌다. 

    대회를 참여하다 보면 그 정확도와 성능이 검증된 모델을 쓰기 마련이고 그 모델 중의 하나가 바로 XGBoost라고 생각한다.

     

    XGBoost의 배경부터 시작하여 주요 하이퍼 파라미터 튜닝 기법, gbtree, dart, dblinear, 랜덤 포레스트 등의 기본 학습기, 홀드 아웃 세트와 이 외에도 앙상블, 스태킹 등의 여러 중요한 기법들을 이 책에서 모두 다루고 있다. 

     

    마지막으로 전처리 과정과 모델링 과정들을 하나의 파이프라인으로 구성해서 재사용성까지 높일 수 있는 방법도 제시하고 있다. 

     

    추후 머신러닝을 이용하는 대회에 참여할 때, 이 책을 다시 한번 꺼내 볼 것이다. 

     

     

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

  • 달마다 그렇듯 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받았습니다. 캐글에서 XGBoost를 사용한 모델을 사용한 팀들이 압도적으로 우승을 차지하더라. 그래서 보니 성능도 좋아보이던데 우리도 써보면 어떨까?" ​ 나는 캐글에 관심은 예전부터 있지만, 아직 대회에 참가할 수준은 아니다. 그래도 머신러닝/딥러닝 분야 기웃거리다 보면, 이책 저책에서 캐글에서 나온 대회나 데이터셋을 사용하는 경우도 많아서 언젠가는 한번 참가해볼 생각이다. 그래서 XGBoost라는게 이렇게 책 한권에서 다룰만한거리가 있으면 어떤부분에서 성능이 좋은지 궁금해서 읽어봤다. 일단은 그레디언트 부스팅을 개조한게 익스트림 그레디언트 부스팅, 즉 XGBoost 이다. 그리고 역시나 속도가 빠르다고 한다. 속도 빠르고 정확도 높으면 최고지 뭐. 근데 가끔 드는 생각이 , 이런 책이나 여러 예제에서 모델 설명할때 사용하는 예제를 보면 데이터가 상당히 잘 되어있다. MNIST만 봐도 책에서 시키는대로만 몇줄 적어도 성능이 잘 나온다. 이게 꿈과 희망을 주긴 하는데, 공부한 모델이나 알고리즘을 실제로 적용할 때 보면 바로 원하는 결과를 얻기가 힘들다. 모델이 예제 데이터셋에 편향된 것일수도 있겠지만, 데이터 전처리를 사용자가 예제 데이터수준까지는 아니더라도 훌륭하게 하지 못했을 수도 있고, 단순히 모델 복붙만 해서 문제 해결상황과는 다른 설계가 된 것일수도 있다. 그래서 모델의 추상적인 동작 방식만 보기보다는 수학적으로 깊이있게 이해해볼 필요가 있을 것 같다. 그런 의미에서 XGBoost가 성능이 좋다고 구대로 사용하지말고, 이렇게 토픽에 대해 자세하고 다양하게 설명하는 책을 참고하면 좋을 것 같다! 또 이 책이 맘에 드는게, 아까 표지에서도 말했듯 예제가 흔한 붓꽃인가 무슨 꽃이랑 레나 같은거나, MNIST 손글씨나 CIFAR, Fasion MNIST같은 이제 좀 지루해진 예제 말고, 진짜 과학자들이 쓰는거 같은 데이터셋을 쓴다. 행성의 공전시 항성의 밝기변화를 이용한 외계행성 데이터셋이라던가, 힉스 보손 찾기 같은거. 나중에 캐글에서 또 어떤 모델이나 알고리즘이 유행할지 모르겠지만, 좋은 장비가 생기고 실력이 늘어 도전하기까지에 읽어보기 좋은 책 같다!

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

      캐글 고수에게 배우는 실전 파이썬 머신러닝

      코리 웨이드 지음

      박해선 옮김

     

    photo_2022-05-29_08-32-29.jpg

     

     

    XGBoost (Extream Gradient Boosting) 는 각광받고 있는 트리기반 앙상블 부스팅 모델의 알고리즘으로

    표 형식 데이터를 활용한 예측에서 가장 뛰어난 머신러닝 알고리즘이라고 합니다. (책 기제)

    "XGBoost와 사이킷런을 활용한 그레이디언트 부스팅" 책은 이 그레이디언트 부스팅에 대한 소개와 XGBoost와 사이킷런을 이용한  그레이디언트 부스팅 모델 만드는 방법에 대해 다루고 있습니다.

     

    [참고] 그레이디언트 부스팅 (Gradient Boosting) 이란 ?

              앙상블 방법론에는 부스팅과 배깅이 있습니다.

              이중에서 그레이디언트 부스팅은 부스팅의 대표적인 모델로 회귀와 분류에 모두 사용할 수 있는 모델 입니다.

              그레이디언트 부스팅의 변형 모델로 XGBoost, LightGBM, CatBoost가 있습니다.

              "XGBoost와 사이킷런을 활용한 그레이디언트 부스팅" 책 부록에서 LightGBM 과 CatBoost 에 대한 내용도 일부

              다루고 있습니다.

     

    누구를 위한 책인가요 ?
    책에서는 데이터 과학 전문가, 데이터 분석가, 빅 데이터를 빠르고 정확하게 처리하는 머신러닝 모델을 구축하려는 개발자를 대상으로 한다고 명시되어 있습니다.

     

    책을 읽기 위해서 최소한 파이썬에 대해 다룰줄 알고 선형 대수학의 기초를 알고 있으면 도움이 된다고 명시되어 있습니다.


    책은 총 1장 ~ 10장 까지로 총 10개의 챕터로 구성되어 있으며,

    크게 3개의 Part 로 구성되어 있습니다.

     

    Part 1 은 (Chapter 1 ~ 4) 머신러닝에 대한 개요와 예제를 통한 데이터 분석은 이러한 것이다 라는 것을 보여주고 있으며, 결정 트리, 배깅과 랜덤 포레스트에 대한 설명과 예제 그리고 그레이디언트 부스팅에 대한 소개 및 예제를 보여주고 있습니다.  본 Part에서 초보자도 쉽게 접근 할 수 있도록 XGBoost 를 이용한 따라하기 형태로 맛보면서  익숙해 질 수 있도록 이끌어 주는 부분이 좋은 것 같습니다.

     

    Part 2 는 (Chapter 5 ~ 7) XGBoost 에 대한 개요 및 기본 모델, 속도 향상, 수학 이론, 일반 프레임워크로써 XGBoost 모델 소개하고, 캐글 대회를 위한 XGBoost 모델을 만들어 보면서 XGBoost 를 사용해 그레이디언트 부스팅의 정확도와 속도를 향상하는 방법과 누락된 값 처리, 희소 행렬, 병렬, 샤딩, 블록킹에 대해 설명합니다.

    Chapter 6에서는 XGBoost 하이퍼파라미터에 대한 소개 및 하이퍼파라미터 튜닝을 준비하기 위한 StaratifiedKFold를 사용해 기준 모델을 만들고 GridSearchCV와 RandomizeSearchCV를 사용해 그리드 서치를 수행할 함수 만드는 법에 대해서 설명 합니다.

    그리고, Chapter 7 은 XGBoost 분류 모델을 사용한 사례 연구를 다루고 있습니다.

                (XGBoost로 외계 행성 찾기)

     

    Part3 는 (Chapter 8 ~ 10) 고급 XGBoost 모델을 구축하기 위한 실험하고 튜닝에 대해 다룹니다.

    그리고, 스태킹과 특성 공학을 포함하여 캐글 마스터로 부터 팀과 기법을 배울 수 있으며, 최소 행렬, 사용자 정의 변환기, 파이프라인을 사용하여 제품 개발을 위해 준비된 모델 구축을 연습합니다.

     

    각 Part 별로 차근차근 따라가면서 익힐 수 있도록 설명 되어 있습니다.

    그리고, Chapter 0 를 통하여 책 초입에 코딩 환경 설정에 대해 설명 하고 있습니다.

     

    책은 번역으로만 이뤄지진 않았습니다.

    역자 노트란을 두어 알면 좋을 내용이나 부연 설명 등을 추가해 되어 있어서 이해도를 올려 주고 있습니다.

     

    photo_2022-05-29_20-49-00.jpg photo_2022-05-29_20-49-09.jpg

     

    그리고, [TIP] 블럭을 추가 하여 내용 중간 중간 참고가 필요한 부분에 대해서 설명 하거나 참고 하면 좋을 만한 사이트 URL 등을 알려 줌으로써 효율 적으로 학습 할 수 있도록 도와 주고 있습니다.

     

    photo_2022-05-29_20-49-03.jpg

     

    결론,

    XGBoost 와 사이킷런에 대해서는 처음 접한 입장에서 보면, 초보자가 시작 하기에 너무 좋은 책인것 같습니다.

    기본 적인 머신러닝에 대해서 알기 쉽게 그리고 따라하며 이해하기 쉽게 구성되어 있어서 좋았습니다.

    완전 초급자 기준에서는 책에 나오는 용어들에 대해서라도 먼저 학습하는 것이 좋을 것 같습니다.

    더 많은 모델과 더 고 성능의 알고리즘이나 모델들이 있겠지만, 본 책에서 다루고 있는 모델 및 알고리즘에 대해서 제대로 이해한다면 충분히 초급 단계를 탈출 할 수 있을 것이라 생각됩니다.

    이론 부분을 심도있게 모두 담으려 했었다면 오히려 접근하기 더 어려웠을 것이라 생각됩니다. 

    그리고, "Chapter 9 캐글 마스터에게 배우기"를 통해서 캐글 대회에 대해서 알게되고, 캐글 대회를 맛볼 수 있는 것도 좋았습니다.

    XGBoost 에 대해 처음 접하는 개발자에게 충분히 추천할 만한 책입니다.

     

  • 

    XGBoost는 Kaggle 대회를 통해 명성이 높습니다.

     

    캐글 우승자들은 XGBoost를 사용해 좋은 성적을 거뒀습니다.

     

    캐글 대회의 데이터셋을 사용한 실전 예제도 많이 담겨있습니다.

     

    캐글은 구글의 자회사인데요.

    데이터 과학자나 기계학습 연구자들의 온라인 커뮤니티 활성화가 잘 되고 있습니다.

     

    머신러닝 최강자인 XGBoost 관련 책을 소개해드리려 합니다.

     

    소개해 드릴 책은 'XGBoost와 사이킷런을 활용한 그레이디언트 부스팅'입니다.

     

    XGBoost와 그레이디언트 부스팅를 어떻게 활용하는지 알아보겠습니다.

     

     

    2222.jpg

     

     

    1) 앙상블 모델

     

    앙상블에 모델을 포함할 땐 상관관계를 확인해야 합니다.

     

    상관관계가 높은 머신러닝 모델의 경우 앙상블에 포함하지 않는 것이 좋습니다.

     

    왜냐하면 분류를 할 때 동일한 예측의 경우 성능 향상이 없습니다.

     

    반대의 경우는 앙상블 모델을 돌릴 경우 향상된 성능을 보입니다.

     

    편향과 분산이 줄어들면 성능이 향상된다고 생각할 수 있는데요.

    줄더라도 앙상블 모델이 성능 향상이 되지 않는 경우도 있습니다.

     

     

    3333.jpg

     

     

    2) 그래이디언트 부스팅

    그레이디언트 부스팅을 아시나요?

    그레이디언트 부스팅은 이전 예측기가 만든 잔여 오차에 새로운 예측기를 학습시키는 방법입니다.

     

    그레이디언트 부스팅은 얕은 결정트리를 사용하는데요.

    이진 트리의 오차를 보완하는 형태로 앙상블을 할 수 있습니다.

     

    과대적합할 때 그레이디언트 부스팅은 강합니다.

     

    학습률을 증가시켜도 트리의 개수가 늘리면 조금 더 향상된 성능을 낼 수 있습니다.

     

     

     

    11111.jpg

     

     

    Ps

    코드랩과 주피터로 머신러닝 실습을 쉽게 할 수 있습니다.

     

    책의 저자는 머신러닝 관련 서적도 많이 썼습니다.

     

    이 책은 한국 독자를 위해 또 다른 유명한 그레이디언트 부스팅 라이브러리인 LightGBM, CatBoost가 포함되어 있습니다.

     

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

    

     

  •   

    한빛미디어의 "XGBoost와 사이킷런을 활용한 그레이디언트부스팅도서를 소개합니다.

     

     

    XGBoost01.png

     

     

     

     

     

     

     

    XGBoost에 대한 글들을 우연히 보게 되어 관심을 가지던 차에 "XGBoost와 사이킷런을 활용한 그레이디언트 부스팅" 리뷰기회를 얻어 읽게 되었습니다. 사실 부제에 해당하는 "캐글고수에게 배우는 실전 파이썬 머신러닝, ..."에 호기심을 가지게 된 것인데, XGBoost 기반으로 캐글 대회 우승을 차지했다는 내용들 때문이었습니다.

     

     

    XGBoost03.png

     

     

     

     

    XGBoost을 알려면 우선 부스팅이란 앙상블(Ensemble) 기법을 알아야 합니다. 부스팅은 몇 가지 모델을결합하여 정확한 모델을 만드는 방법으로, 각각의 예측 결과를 기반으로 강한 모델을 만든다고 볼 수 있습니다. 2장에서 4장까지는 XGBoost의이해를 위해서 "그레이디언트 부스팅", 그 전에 "배깅 앙상블과 랜덤 포레스트", 또다시 이를 알기 위해서 이전에 "결정 트리"를 알아야 하기에, 이를 역으로 설명하고 있습니다.

     

     

     

     

    ü  CHAPTER 2 결정 트리

     

    ü  CHAPTER 3 배깅과 랜덤 포레스트

     

    ü  CHAPTER 4 그레이디언트 부스팅에서 XGBoost까지

     

     

     

    4장을 마무리하면서 아래와 같은 글이 있습니다. XGBoost을 왜 배워야 하고, 적용해야 하는지, 예측 데이터셋으로 비교해보면 속도 차이가 엄청나다는 것을 알 수 있습니다.

     

     

     

    XGBoost04.png

     

     

     

     

     

    도서의 전체적인 구성은 PART 1에서 배깅과 부스팅을,PART 2에서 XGBoost 기본 이론을, PART 3는고급 XGBoost 기법들을 배울 수 있도록 구성하였습니다. 따라서 XGBoost 자체 뿐만 아니라, Part 1/2/3 과정을 통해서기초가 되는 결정트리, 부스팅, …등과 같은기본 이론을 쉽고차근차근 배울 수 있는 도서입니다.

     

    XGBoost05.png

     

     

     

     

     

     

    5장에서는 힉스 보손 대회를, 7장에서는외계 행성 탐사라는 주제를 다루는데, 도서가 이론 뿐만 아니라 실습에 대한 비중이 꽤 높다는 점입니다. 개인적으로 마음에 들었던 몇가지 부분이었는데, 7장의 경우 외계행성 데이터셋을 소개하면서 외계 행성 탐사 역사도 담고 있고, 데이터셋을 가지고 그래프와 분석하는 내용을담고 있습니다. 왜 책의 부제가 "캐글 고수에게배우는 실전 파이썬 머신러닝인 것인지 알 수 있습니다.

     

     

    XGBoost06.png

     

     

     

     

    디테일한 부가 설명 또한 본 도서가 이론을 다양한 소스로부터 배울 수 있도록 유도합니다.

     

    XGBoost07.png

     

     

     

     

     

     

    가장 마음에 들었던 내용인데, “역자노트를 통해 머신러닝 전문가인 역자의 풍부한 이론을 전달하기에, 본서보다가치가 높다고 생각합니다.

     

     

    XGBoost08.png

     

     

     

     

     

     

     

    역자의 도서를 몇권 가지고 있고, 이를 통해 머신러닝을 접하다 보니역자의 출간 도서에 관심이 많았습니다. 사실 본 도서 역시 저자보다 역자를 통해 리뷰 신청을 하게 되었죠. "XGBoost와 사이킷런을 활용한 그레이디언트 부스팅라는도서 한권을 통해 사이킷런 뿐만 아니라 결정 트리나 부스팅과 XGBoost의 초//고급 기술을 익힐 수 있고, 개인적으로는캐글 도전을 다시 해야 겠다는 생각이 들더군요. ^___^

     

     

     

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

     

     

      

  • 이번 달에 리뷰하게 된 책은 이다. 다른 사람 책상 위에 이 책이 있는 걸 보고 "무슨 내용이지?" 하고 궁금했던 차라 반가웠다. 그리고 생계형 번역가꾼이라고 자칭하는 박해선 님이 번역한 책. 초판 1쇄. ^^

     

    서문에 "데이터 과학 전문가, 데이터 분석가, 빅 데이터를 빠르고 정확하게 처리하는 머신러닝 모델을 구축하려는 개발자를 대상으로 합니다. 파이썬에 익숙하고 선형 대수학의 기초를 알고 있으면 이 책을 읽는 데 도움이 될 것입니다." 라고 써있다. 즉, 왕초보를 위한 책은 아니라는 얘기다.

     

    먼저 밑바닥부터 그래이디언트 부스팅 모델을 만들어 보고 나서 빠르고 효율적이라고 하는 XGBoost 라이브러리의 속도감을 실감할 수 있게 해준다. 

    Part 1은 선형회귀, 로지스틱회귀, 결정트리(Decision Tree), 배깅, 랜덤 포레스트, 그레이디언트 부스팅을 다루고 있고, 

    Part 2에서  XGBoost를 소개한다. 모델을 만들고 튜닝하는 과정이 있다. 

    Part 3에서는 XGBoost에 있는 다양한 기본 학습기의 차이점에 대해서 알아보고 적용도 해본다. 선형 기본학습기인 gblinear, 결정트리의 변종으로 드롭아웃 기법을 사용하는 DART(Dropouts meet Multiple Additive Regression Trees), XGBoost 랜덤 포레스트를 소개하고 있다. 성능을 높이는 것은 어떤 경우든 지난한 튜닝의 과정이 필요하네. 기계가 학습을 하는 건지 내가 학습을 하는 건지 모를....(둘 다 학습을 하겠지) 

    마지막으로는 XGBoost를 사용해 캐글 대회에서 우승한 캐글 마스터들로 부터 배울 수 있는 노하우를 소개하고 있다. 역시나 새로운 특성을 만들어서 최적의 모델에 적용하는, (시간도 엄청 많이 걸리는데) 그냥 단순히 시간만으로는 해결되지 않는 과정이 있구나. 머신러닝 파이프라인을 구성하는 것까지 해서 책이 마무리된다.

     

    ​이전에 보았던 다른 책들 보다 한 단계 더 깊이 들어간 내용을 다루고 있나보다 생각했었지만, 읽다보니 Pandas로 데이터프레임을 처리하는 것이나 원핫인코딩과 같은 기초적인 개념들도 같이 다루고 있었다. 파이썬을 아는 정도라면 머신러닝 입문자도 읽을 수 있을 것 같다.

     

    ​이런 부분은 다른 책에서는 보지 못한 부분이라 재미있다.

    KakaoTalk_20220529_214740421.jpg KakaoTalk_20220529_214740421_01.jpg

     

    보면서 살짝 아쉬웠던 건 종이가 너무 얇다는 거... 형광펜이라도 그으면 뒷면에 비칠 것 같아서 그냥 연필만 쓰게 된다.  그래서 전체적으로 책이 얇고 가벼워졌다는 장점도 있겠지만... 

  • 다양하게 주어진 데이터 예제 덕분에 XGBoost 알고리즘의 활용도를 깊이있게 학습할 수 있도록 구성된 책으로 캐글 데이터를 활용하고 있어 추후 학습 연장선상에 캐글을 활용할 수 있도록 안배된 점이 특징이다.

    XGBoost 알고리즘을 다양한 데이터 별로 활용할 수 있게 구성된 점이 장점이며 특히 빠르게 알고리즘의 핵심을 익힐 수 있게 구성된 점이 장점인 책이다.빠른학습가능

    특히 캐글 경진대회에서 주로 다루는 데이터 셋들이 예제로 다뤄지고 있기에 실전에 가까운 데이터와 XGBoost 알고리즘의 시너지를 내는 방법을 쉽게 익힐 수 있으며 이 책에서 다루는 기본 과정을 충실히 익히고 나면 차후 보다 난이도 있는 캐글 경진대회를 스스로 학습해보며 XGBoost의 활용 능력을 크게 키울 수 있다.

    파트1에서는 XGBoost의 가장 기본적인 사용법을 빠르게 익힐 수 있다. XGBoost의 특징이나 활용법을 중심으로 다루고 있으면서도 데이터 분석에 자주 활용되는 널리 알려진 다른 유명 알고리즘 즉, 결정트리, 랜덤 포레스트, 배깅, 부스팅, 그레이디언트 부스팅들의 특징을 같이 살펴본다.

    각 분석 알고리즘의 원리가 무엇인지 간단한 수식으로 정리해보고 예제를 구현해 나가며 각 알고리즘의 장, 단점이 무엇인지 파악할 수 있음은 물론 각 알고리즘의 단점을 보완하기 위해 등장한 알고리즘이 무엇인지 발전 과정을 살피며 종국에 등장한 XGBoost가 왜 좋은 성능을 발휘하는지 왜 활용해야 하는지 근본적인 이해도를 높혀주는 구성이 마음에 들었다.

    파트2에서는 본격적으로 XGBoost를 다룬다. 알고리즘의 상세구조 및 특징, 수식, 하이퍼파라미터의 종류 및 활용 방법들을 심도 있게 다루고 있으며 특히 7장의 예제는 가장 핵심이 될만한 예제로 XGBoost를 충분히 학습해볼 수 있는 기회를 얻을 수 있어 반드시 익히고 실습해 볼 것을 권하고 싶다.하이퍼파라미터

    파트3는 XGBoost에서 활용하는 기본 학습기에 대해 보다 심도 있게 다루며 그 활용도를 극대화할 수 있는 방법을 얻을 수 있다. 앞 장에서 그레이디언트 부스팅 트리와 같은 가장 기본적인 학습기만을 다뤄왔다면 본 파트에서는 주어진 데이터의 특성을 파악해보고 선형, 다트, 랜덤포레스트 등 다양한 기본 학습기를 활용하며 XGBoost의 확장능력을 체험할 수 있도록 구성되어 있다.

    뿐만 아니라 차후 캐글의 심도있는 경진대회 데이터셋으로 스스로 학습 능력을 높혀나갈 수 있게 끔 평균 인코딩, 상관관계 낮은 앙상블 만들기, 베이스 모델의 예측을 입력으로 활용하는 스태킹 등의 기법을 활용할 기회가 주어진다.

    이는 캐글마스터들이 공개한 TIP이기도 하기에 실무에서도 높은 예측력을 가진 모델을 만드는 데 많은 도움이 될 수 있을거라 생각한다.또한, 모델을 배포하는 방법을 알려주고 있어 서빙이나 제품화에도 도움을 받을 수 있을 듯 하다.

    한국어판에만 공개된 부록은 여느 장 못지 않게 소중한 내용이 담겨있다. CatBoost, LightGBM과 같은 XGBoost와 비슷한 성능을 내며 널리 활용되는 경쟁 알고리즘들도 소개되어 있다.

    특히 CatBoost는 범주형 특성 데이터에 대한 인코딩을 자동으로 처리해주기에 처음 접했을 때 너무 편리하다 생각했는데 단 몇 페이지로 본 알고리즘의 핵심과 활용방법을 간결히 정리하고 있어 빠르게 익히는데 큰 도움이 된다.

    XGBoost와 활용법이 상당히 유사하기 때문에 저자가 본 도서를 통해 알려주는 기본기에 충실할 수 있다면 부록만으로도 쉽게 유사한 다른 알고리즘을 활용할 수 있을 것이다. 적은 시간을 투자하여 유사 알고리즘을 활용할 수 있도록 구성된 점이 크게 매력적인 부분으로 느껴졌다.

    그 외에도 전반적으로 힉스보손입자, 외계 행성 찾기 등 재미있는 캐글 데이터셋을 즐겨볼 수 있는 기회가 주어짐과 동시에 실습 예제가 풍부하여 흥미를 가지고 학습할 수 있다는 점이 특징이다.힉스보손

    XGBoost를 구현 시 고유의 방식이 있는가 하면 SKlearn API 방식도 존재하는데 두가지 방식이 존재하여 초보자는 헷갈릴 수 있는 요소가 된다. 하지만 본 도서에서 두가지 방식을 꼼꼼하게 설명하고 있어 XGGBoost를 활용하는데 발생할 수 있는 혼동을 줄여준다는 점도 장점이라 생각했다.

    물론 아쉬운 점도 몇가지 존재한다. 구체적으로 데이터의 구조에 따리 모델을 다양하게 설계하는데 약간 부족함이 있지 않나 싶다. 예를 들면 더미 데이터를 독립변수로 입력받아 종속변수를 분류하는 예제는 소개되어있지 않다.

    또한, 통계적 지식을 깊숙하게 다루진 않고 있어 내부의 깊이있는 이해 혹은 데이터 분석 자체의 능력을 키우기 위해 통계와 관련된 별도의 학습이 필요할 것이다. 7장에 불균형 데이터셋을 위한 F1 스코어나 재현도의 기본을 설명하는 수준 정도는 잘 정리하고 있으나, 독립변수 간 종속성을 파악하는 등 일반적인 데이터 분석에 활용되는 기본기들을 학습하진 않는다.

    8장과 같은 경우도 gbtree, dart, gblinear, 랜덤포레스트 등의 기본 학습기별 하이퍼파라미터 튜닝 등 활용 방법을 배우지만 어떤 데이터 셋이 주어졌을 때, 어떤 모델을 활용할 때 어떤 기본 학습기를 활용하는것이 유리한지와 같은 고수의 경험이나 모델 설계에 관한 부분이 조금 더 자세히 언급되었다면 XGBoost로 어지간한 데이터 분석은 거뜬히 해낼 수 있는 완벽한 구성이 되지 않았을까 약간의 아쉬움이 남는다.

    데이터 과학의 영역을 일반적으로 흔히 말하는 업무 도메인, IT, 통계 능력의 융합이라고 본다면 통계에 능숙하나 IT 활용력이 떨어지는 독자에게 제일 적합한 책이라는 생각이 든다. 매우 빠르게 XGBoost 알고리즘을 활용하고 API를 자유자재로 다룰 수 있을 것이다.

    또한, 데이터 분석의 초보자가 빠르게 앙상블의 생태계의 개괄을 이해하거나 XGBoost의 활용력 및 리터러시를 빠르게 키우는 것이 목적이라면 이 책은 주어진 시간 내 가장 큰 학습 효과를 안겨줄 수 있는 책이 될 것이라 생각한다.


  • https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=292185214 

     

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

    기본적인 머신러닝과 판다스부터 사용자 정의 변환기, 파이프라인과 희소 행렬로 새로운 데이터의 예측을 만드는 강력한 XGBoost 모델 튜닝까지 모두 다룬다. 또한 XGBoost의 탄생 배경과 XGBoost를

    www.aladin.co.kr


    01. 이 책을 고른 이유

    최근에는 딥러닝이 아닌 머신러닝에 대한 필요성이 생겼지만, 더이상 단순히 초급자용 책으로 이런저런 책에서 반복적으로 제시하는 내용 외 진짜 도움이 되는 책이 읽고 싶어졌다.

    Xgboost는 그 중에서 빼놓을 수 없는 방법론이고, 가장 즐겨 사용하는 라이브러리이기에 좀 더 세부적으로 익히고 싶다는 마음에 선택.


    02. 간단소개

    드디어 나왔다!
    우리가 원하던 그것!

    그렇다, 나왔다.

    우리가 원하던 그것.

    언제까지나 초심자, 초급자용 입문 도서만 주구장창 읽어대던 우리가 바라던 중급자 이상의, 실무에도 적용할 수 있는 책이다!

    이제는 누구나 다 알 것 같은 기본적인 설치와 머신러닝 소개는 최소화하고, 바로 트리 / 앙상블 / 그래디언트 / 부스팅 으로 넘어간다.

    또한 공식 문서를 봐도 이게 무슨 의미인지 파악하기 어려웠던 하이퍼 파라미터에 대한 설명 / 비교뿐 아니라 다르게 구현할 수 있는 방법까지도 소개한다!


    03. 이 책의 장/단점

    내용, 구성, 심지어 한국어판 부록까지도 훌륭하다!

    물론 제대로 xgboost를 사용하기 위해선 공식 문서를 참조해야 하며,

    영문으로 적힌 파라미터를 이해해야하는 것은 동일하다.

    또한 수많은 xgboost의 하이퍼 파라미터를 전부 설명하고 있지는 않으며, 

    각 파라미터의 상관관계라거나, 조합에 대해서 다루지는 않는다.

    이는 결국 실무의 영역에서 필요한 일이나, 이게 곧 이 책의 단점이 되지는 않는다.

    적어도 xgboost를 수차례 써본 사람이라도 보다 잘 xgboost의 개념을 이해하고,

    이를 기반으로 라이브러리를 구현하는 것에 큰 도움이 될 것이 분명하기 때문.

    만약 이 이상의 내용을 책으로 담거나 배우기란 어려울 것으로 보일 정도.


    04. 이 책의 구성 & 특징

    기본적인 구성은 트리 / 앙상블 / 그래디언트 / 부스팅과 관련된 라이브러리에 대해 소개하고, 그에 대한 기본 개념을 설명하며, 각 모델별 성능을 비교해가며 튜닝한다.

    이 과정에서 각 하이퍼 파라미터가 수행하는 기능을 통해 성능이 오르고 내리는 것, 그리고 다른 파라미터 혹은 모델과의 비교를 통해 보다 쉽게 각 방법론, 파라미터 조정의 효과에 대해 설명한다.

    최종적으로 본래라면 다루지 않았을 LightGBM이나, Catboost에 대해서도 한국어판 부록에서 소개하며, 이를 Xgboost 라이브러리를 통해 구현하는 방법을 같이 소개하며 유종의 미를 거둔다.

    위의 이유로 '머신러닝을 공부하는 사람''초심자만을 위한 책에 지친 사람''XGBoost 라이브러리를 더 잘 활용하고 싶은 사람'이라면 이 책을 강력 추천한다.


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

  • 본 포스터는 한빛미디어에서 [나는 리뷰어다]를 통해 책을 지원받아 작성한 리뷰 포스터입니다. 

     

     

    역자로 유명하신 박해선님의 최근 책이신 "XGBoost와 사이킷런을 활용한 그레이디언트 부스팅" 입니다. 책 제목과 동일하게 모든 내용은 부스팅 트리 기반의 방법 설명과 XGBoost 위주의 이론 및 실습 내용, LightGBM과 Catboost 내용이 부록으로 설명되고 있습니다. 

     

    XGBoost와 LightGBM 논문을 보면 알겠지만 사실 굉장히 어렵습니다. 해당 책은 이론적인 부분에 대해서도 다루기는 하지만, 깊이는 그렇게 깊게까지는 다루지 않고 실질적으로 적용하는 사람들을 위해서 씌여진 책처럼 느껴졌습니다. 그래서, 해당 책을 읽고 XGBoost 를 적용할때 각 파라미터, 방법론들의 역할이 어떤 효과가 있는지에 대해서 알고 적용하기에는 좋아보였지만, 잘 적용되고 안되었을때 어떤 이유에 의해서, 어떤 원리에 의해서 안되었는지는 파악하기가 힘들 것 같습니다. (이론적 배경이 조금 약해보였습니다) 

     

    제가 정형데이터에 XGBoost와 LightGBM을 거의 5년가까이 돌려봐서 상대적으로 쉽게 느껴졌을 수도 있습니다. 개인적으로 XGBoost를 처음 공부할때 자료가 많이 없어서 공부하기 힘들었는데, 만일 그때 이 책이 있었으면 많은 도움이 되었을 것 같습니다. 하지만, 요새 XGBoost는 거의 안쓰고 LightGBM만 쓰는 추세인데 비슷한 부분이 많지만 엄연히 다른 알고리즘인데 트렌드에 좀 뒤쳐진 것은 아쉬운 점이었습니다. 

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

    책을 읽기 위해 필요한 기술

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

    옮긴이의 말

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

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

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

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

    목차

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

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

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

    LightGBM

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

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

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

    CatBoost

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

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

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

  • 머신러닝 알고리즘  XGBoost를 다루는 국내 최초의 번역서가 나와서 인기가 많은 책입니다.
    큰 분류에서 언급만 되고 있는 책은 몇가지 있지만, Desion Tree에 대해서 좀더 심도있게 다루고
    점차 기술적인 발전을 통해서 Gradient Booting까지 학습하기에 많은 내용이 상세히 설명되어 있습니다.
    위에서 언급한 XGBoost의 기술적인 포지션을 확인하고, 
    결정트리에 및 배깅, 부스팅 기법에 관심이 많은 독자분들이면 많은 도움을 받으실수 있습니다.
    ☞ Decision Tree (결정트리 머신러닝 알고리즘)을 학습 및 관심이 많은 독자분
    ☞ XGBoost를 조금더 세부적으로 학습하려고 하는 독자분
    ☞ XGBoost이후에 나온 다른 알고리즘 LightGBM, CatBoost기법에 대해서 관심 있는 독자분
    ☞ 캐글에서 XGBoost를 적용해보고 싶은 독자분
    책의 구성
    XGBoost에 대한 설명으로만 구성되어 있지 않고 결정트리에 대한 전반적인 부분이 Part1에 설명되어 있고,
    Part2,3에서는 심도있게 XGBoost에 대해서 설명이 됩니다.
    책의 흐름을 보면 결정트리의 흐름이 PART1에서 설명되어 지고
    PART2,3에서 XGBoost에  설명이 되어집니다.
    한국어판 부록에서만 추가된 내용이 있습니다.

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

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

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

    코리 웨이드

    수하과 예술분야 석사이고 버클리 코딩 아카데미의 설립자이자 이사로 전세계 10대들에게 머신러닝과 인공지능을 가르치고 있습니다. 또한 버클리 고등학교 독립 학습 프로그램의 수학 분야 의장으로서 프로그래밍과 고등수학을 가르치고 있습니다. 기초적인 자연어 처리를 가르치며 패스스트림과 데이터 과학 커리큘럼을 개발하고, 투워드 데이터 사이언스, 스프링보드, 미디엄에 통계학과 머신러닝 글을 기고합니다.

    본 도서는

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


    이 책은 데이터 과학 전문가, 데이터 분석가, 빅 데이터를 빠르고 정확하게 처리하는 머신러닝 모델을 구축하려는 개발자를 대상으로 XGBoost의 개념과 하이퍼파라미터 튜닝까지 다루어준다.

    XGBoost를 다루어 줄 New Book!

     
     
     
     

    도입된 이유, 개념, 하이퍼파라미터 튜닝까지 다루어준다!

    무엇보다 박해선 선생님은 누구나 이해할 수 있도록 쉽게 설명해주신다.

    그냥 번역을 한 것이 아니라, 정말 쉽게 알려준다.

    박해선 선생님의 저자인, '혼자 공부하는 머신러닝과 딥러닝'의 판매량만 보더라도 알 수 있을 것이다.

    마지막에는 캐글 마스터에게 배우는 XGBoost 활용법이다. 특성공학부터 시각화, EDA까지 함께 한다.


    Kaggle, Dacon에서 필사를 하다보면 XGBoost, LightGBM과 같은 부스팅 계열의 모델로 높은 점수를 내는 것을 알았다.

    XGBoost가 무엇인가 해서 직접 찾아보았지만 번역하기가 힘들었다. 블로그도 보았지만 서로 다른 부분이 있어 뭐가 맞는지 헷갈린다.

    본 도서는 데이터 과학자, 데이터 분석가, 머신러닝 모델을 구축하려는 개발자에게 적합하다.

    파이썬에 익숙하고 선형 대수학의 기초를 알고 있다면 책을 읽는데 도움이 될 것이다.

    파이썬은 당연하고 선형 대수학에서 행렬을 잘 알고 있다면 이해하기 수월할 것이다.

    책 내용은 많이 어렵지 않았지만, 중후반에서는 어렵다.

    필자도 힌스 보손을 아직 읽지 않았다.

    힉스 보손

    XGBoost를 Kaggle 마스터에게 배워보는 A to Z 프로젝트

  • 	

     

     

     

    목차
    1. 책 구성
    2. 장점/단점
    3. 마무리

    1. 책 구성

    서명 : XGBoost와 사이킷런을 활용한 그레이디언트 부스팅 캐글 고수에게 배우는 실전 파이썬 머신러닝, 코랩에서 실습 가능
    저자 : 코리 웨이드, 박해선 역
    출판사 : 한빛미디어
    페이지 수 : 380p
    구매링크 : https://www.hanbit.co.kr/store/books/look.php?p_code=B5725043400

    용기내면 읽을 수 있는 두께

     

     

    2. 핵심

     

     

    XGBoost의 중고급으로 난이도 별 도전&이해를 할 수 있는 좋은 책이다.

     

    파이썬이나 머신러닝에 대한 이해가 있으면 좋고, 활용에 많은 내용이 담겨있었다. 특히, 초급자에게 필요한 내용이 많이 담겨있다. 책의 1/3정도는 머신러닝에 대한 개요가 담겨져있기에 XGBoost를 처음 접하는 사람도 잘 읽고, 코드를 따라나갈 수 있을 것같다.

    캐글 마스터에게 배우기란 9장이 참 좋았다. 캐글(https://www.kaggle.com/)이란, 데이터예측고 분석 대회 플랫폼이다. notebook이란 카테고리에서 의견을 나누고 더 좋은 선택을 할 수 있는 솔루션을 공유하고 있으므로 모델링을 하는 사람이 꼭 참고하고 참여했으면 한다. 국내에는 비슷한 플랫폼으로 데이콘(https://dacon.io/)이 있다. 캐글에 대해서 직접 격어보기전에 읽어본다면 노하우를 많이 받을 수 있을 것이다.

     

    3. 마무리

    페이스북에서 후기를 종종 보았다. 인터넷에서 후기가 종종 눈에 띄는만큼 이해하기 쉽게 작성된 글이다. 머신러닝에 대해서 살짝 더 자세히 들여다볼 수 있다.



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

  •  

    KakaoTalk_Photo_2022-05-28-21-21-22.jpg

     

    앙상블 기법은 여러 개의 모델의 결과를 모아 최종 결과를 산출하는 방법입니다.

    크게 배깅, 보팅 그리고 부스팅의 방법이 있습니다.

    XGBoost는 부스팅 계열의 방법인데, 오버피팅 등 여러가지 단점을 보안한 방법입니다.

    이 책은 결정트리, 배깅을 설명하고 그래디언트 부스팅 순으로 설명을 하고 있습니다.

    그리고 이론적인 설명을 하기전에 사이킷런으로 적용해보고 하이퍼파라미터를 설명하면서

    조금씩 이론적은 부분으로 진행하고 있습니다.

    이 책의 저자는 "실수가 발생했을 때 이를 만해할 방법이 얼마나 있으면 좋을까요, 마치 그래디언트부스팅이 이전의 실수를 보완하듯이 말이죠" 라고 말하고 있습니다.

    이 문장이 왜 우리가 XGBoost를 사용해야 하는지 잘 말해주는 것 같습니다.

    뜨문뜨문 알았던 여러가지 앙상블에 대한 내용을 이 책을 통해 체계적으로 다시 보게 되었습니다.

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

     

  • XGBoost와 사이킷런을 활용한 그레이디언트 부스팅 (책표지)

     

    > 책의 구성 및 내용

    이 책은 제목에 맞게 XGBoost  (그레디언트 부스팅 프레임워크 오픈소스 프로젝트)
    https://github.com/dmlc/xgboost에 대해
    왜 XGBoost를 사용하는지, 어떤 장점이 있는지에 대해 안내해주고 있습니다.
    일반적인 머신러닝의 회귀나 분류 등에 대한 자세한 설명보다는
    그레디언트 부스팅과 XGBoost 에 대한 설명이 초점을 두고 있어
    머신러닝에 대해 이미 알고있는 독자가 좀 더 쉽게 책을 읽을 수 있을거라 생각됩니다.

     

    GitHub - dmlc/xgboost: Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, S

    Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow - GitHub...

    github.com

     

    다양한 머신러닝 책을 쓰기도 하시고, 옮기기도 하신 박해선님께서 옮긴 책이여서 그런지
    예제소스 정리가 굉장히 잘정리되어 있어 각 챕터 실습하는데 굉장히 편했습니다.
    https://github.com/rickiepark/handson-gb

    책에서는 하이퍼파라미터 튜닝에 대해서도 많은 부분 할애하고 있는데
    각 파라미터에 대해 자세히 설명해주고 있어 
    성능향상을 고민하고 있는 독자들에게도 많은 도움이 될 것 같습니다.

    XGBoost 가 Kaggle 대회를 통해 명성을 얻은 만큼 
    책의 뒷부분에서는 Kaggle 대회에 대해서도 소개하고 있는데,
    기존에 Kaggle 이나 다른 머신러닝 대회에 관심있는 분들에게도 좋은 정보들이 많이 포함되어 있습니다.
    특히 Kaggle 팁으로 범주형데이터나, 누락 값에 대한 처리, 평균 인코딩 등
    개발자가 처음 Kaggle과 같은 대회를 접할 때 고려할 수 있는 다양한 팁이 있어서 좋았습니다. 

    Kaggle대회 XGBoost 우승 솔루션 : https://github.com/dmlc/xgboost/tree/master/demo#machine-learning-challenge-winning-solutions

     

    XGBoost 외에 그레디언트 부스팅 라이브러리 (LightGBM, CatBoost) 들도 마지막에 소개하고 있어
    그레디언드 부스팅 라이브러리에 대한 이해에 많은 도움이 되었습니다. 

     

     

    > 장점

    • 실습코드가 제공되고, Colab이나 jupyter를 통해 손쉽게 테스트가 가능하도록 구성되어 있습니다.
    • 코드를 통해 설명되고 있는 부분이 많아 읽기 편합니다.
    • 각 예시에 대한 출처들이 명확하게 기재되어 있어 관련 정보를 추가학습하기 편합니다.

    > 단점

    • 없음

    책읽기 필요사항

    머신러닝에 대한 기초, 파이썬/사이킷런/주피터 사용법을 미리 알고있으면 좋습니다.

    추천 독자

    XGBoost 에 대해 알고 싶은 개발자,
    회귀, 분류 문제를 XGBoost 를 통해 보다 빠르고 정확하게 풀고 싶은 개발자
    Kaggle 대회에 관심있는 머신러닝 개발자

    > 정보

    저자: 코리웨이드
    옮긴이 : 박해선
    출판사: 한빛미디어
    가격: 34,000원
    전체 페이지: 380페이지

    예제소스 : https://github.com/rickiepark/handson-gb

     

    GitHub - rickiepark/handson-gb: XGBoost와 사이킷런으로 배우는 그레이디언트 부스팅

    XGBoost와 사이킷런으로 배우는 그레이디언트 부스팅. Contribute to rickiepark/handson-gb development by creating an account on GitHub.

    github.com

     

     

     


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

  • 최근 한빛미디어의 책은 종이가 얇고 가볍다. 그래서인지 이 책은 380쪽 정도인데 200쪽정도의 두께와 가벼운무게가 들고 다니기 편하다.

    이 책의 저자는 코리웨이드님이고 역자는 박해선님으로 믿고보는 역자님 중에 한명답게 깔끔하고 일관된 실습예제가 따라하기 좋고 한국어판에서만 CatBoost와 LightGBM 이랑 사이킷런 부스팅 소개가 추가되었다고 한다. 원서는 대략 40달러로 환율이 올라 5만원이 넘는셈인데 내용도 많고 고급스러운 책을 3만원대로 구매할 수 있는 것에 감사하다.

    이 책의 내용은 머신러닝 실습책이다. 머신러닝을 설치하여 시작하고 실행하고 XGBoost를 사용하여 모델의 정확도를 향상하는 방법을 이해할 수 있게 잘 구성되어 있다. 또한 머신 러닝 파이프라인을 구축하고 하이퍼파라미터를 미세 조정하여 최적의 결과를 얻어내는 방법까지 알려준다. Bagging, Gradient Boosting, Random Forest의 기초가 될 수 있는 Decision Tree부터 자세하게 설명해주고 한국어로 잘 번역이 되어 있어서 큰 그림으로 이해하기 좋다.

    사실 내가 XGBoost를 처음 구경한 것은 6년전에 회사 맥북에 설치해서 모델구축을 한 번 해본 것이었다. 그 때 당시에는 여러가지 문제가 많아 3시간 가까이 헤맸었는데 지금은 너무 쉽게 설치되는 것이 놀라웠다. 물론 그 때보다 활용도는 많이 떨어졌지만 처음 접근하는 사람이 실습해보기에 매우 좋은 라이브러리라고 생각한다.

    이 책에서는 다양한 머신러닝 뿐만 아니라 Pandas 내용도 다루고 있고 참고할 만한 서적도 적절하게 추천해 주는 등 파이썬을 전혀 모르는 독자를 위해 친절하게 쓰인 책이다. 머신러닝이 무엇인지, 모델을 어떻게 개선해 나가는지, 파이프라인을 어떻게 구현하고, 불균형데이터세트를 어떻게 처리해야 하는지 등의 다양한 내용들을 쉽게 소개하고 있어서 수학식에 학을 떼고 수식만 파고 계신분들도 아주 재미있게 따라할 수 있는 책이라 많은 분들이 보면 좋을 거 같아 추천한다.

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

  • 요즘 개발자들은 익혀야 할 것들이 많다. 그중 하나가 기계학습(머신러닝과 딥러닝)이 아닐까? 예전에 비해 컴퓨팅 파워가 저렴해지면서 일반 개발자들도 기계학습의 기본 개념을 익히고 사용할 수 있게 되었다. 하지만 익히는 과정은 순탄하지만은 않다. 내 경우도  여러번 시도를 해보았지만, 수학식들에 파묻혀 내가 익히고싶던 주제를 잘 정복하지 못했다.

     

    이번에 살펴본 'XGBoost와 사이킷런을 활용한 그레이디언트 부스팅'의 가장 큰 장점은 잘 설계된 구성이다. 하나하나 예제를 따라가 보면서 지도학습 알고리즘의 개념과 다양한 모델이 나온 배경(개발자의 고민)을 이해할 수 있었다. 그래서 모처럼 머신러닝 책을 깔끔하게 완독했다.  아주 초심자용 책은 아니다. 기계학습에 대한 개략적 이해를 선행한 다음, 수학식에 파묻히기 보다는 이 책으로 예제를 통해 실용적인 관점으로 그레디언트 부스팅의 개념을 이해하는 것이 효과적이라 생각한다. 심화학습은 별개의 문제이다. 즉, 다르게 표현하자면 이 책은 지도학습분야에서 숲을 소개하는 책으로 느껴진다. 예제들은 널리 공개되어있는 데이터셋을 사용했는데, 데이터 자체의 특성이나 내용에 대한 소개는 조금 부족하다. 책이 전체적으로 지도학습 모델이 정확도를 높여가는 진화과정을 소개하는 형태로 구성되어 있다. 나에게는 이런 방식이 그동안 빠르게 발전해온 지도학습의 역사를 이해하는데 도움이 많이 되었다. 세세한 모델과 수식을 기대하는 독자들은 아쉬울 수 있겠다.

     

    원서의 경우 Packt에서 310쪽으로 출간했는데,  우리나라 버전은 박해선님이 매끄럽게 잘 번역하였다. 우리나라 버전은 380쪽으로 살짝 늘어났다. 하지만 Safari Book에서 제안하는 것처럼 약 6시간만에 읽을 수 있는 책은 아니다. 

     

    파이썬에 대한 기본 문법은 이해하고 있어야 읽기 수월하다. pandas나 numpy 패키지에 대해 간략하게 사용법을 소개하는 정도로 예제들이 구성된다. 이 부분이 부족한 사람들은 파이썬 책을 참고도서로 보면 좋겠다. 없어도 막히거나 할 수준은 아니다.

    나는 책에서 소개한 것처럼 아나콘다 버전을 사용하지 않고 직접 파이썬으로 필요한 패키지들을 설치하였다. 윈도우에서 실습해 보았는데, 내가 사용한 환경은 다음과 같다.

    • 파이썬 3.9.12
    • Numpy 1.22.3
    • SciPy 1.8.0
    • SciKit-Learn 1.1.0
    • XGBoost 1.5.2
    • Jupyter 1.0.0
    • Notebook 6.4.11
    • Pandas 1.1.4 

    PIP로 설치했는데, 별다른 이슈없이 잘 설치되었고, 예제 또한 책에서 소개된 대로 잘 진행되었다.

     

    지도학습을 프로젝트에 적용해 보고 싶은 개발자들에게 추천한다.

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

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

    캐글 초보의 험난탄 캐글 도전기

    한창 딥러닝에 대한 관심이 떠오를 무렵 다양한 커뮤니티를 돌아다니다 캐글에 대해 알게 되었다. 캐글에 대해 간단히 소개하자면, 구글의 자회사이며 데이터 과학자나 기계학습 연구자들의 온라인 커뮤니티이자 경쟁의 장이다. 3년쯤 전에 처음 캐글을 접하게 되면서 처음 데이터 분석에 발을 딛게 되었다. 

    대부분이 그렇지만, 캐글의 타이타닉 대회를 시작으로 향후에는 상금이 걸린 대회까지 입상을 하는 상상을 하며 도전해보았지만 생각보다 타이타닉 대회의 벽이 높게만 느껴졌다. 기계학습이나 데이터 분석에 대해 하나도 알지 못하는 상태로 도전하다 보니, "df.head()"를 통해 확인한 데이터 테이블의 벽은 높게만 느껴졌다.

    엄....

    도대체 SibSp라는 놈은 무엇이며, 어떤 데이터가 모델의 입력이 되어야 하고 어떤 데이터가 학습 라벨이 되어야 하는가, 도대체 Name, Cabin, Ticket은 어떤 용도로 사용하라고 넣어 놓은 것인가. 사실 데이터셋이나 대회에서 제공해주는 데이터 상세정보를 확인해 알 수 있기도 하고, 워낙 Titanic과 같이 유명한 대회의 경우에는 한국어로 된 유튜브나 블로그 자료를 통해 실습해보며 따라갈 수도 있었지만, 마음만 앞섰던 나는 빨랐던 마음만큼 포기도 빨랐었다.

    한 번의 좌절을 맛본 뒤 다시 생각날 때마다 틈틈이 도전해보고 있었지만, 여전히 밑바탕이 없었던 나는 단편적인 지식만 쌓아가며 작은 성장에만 만족해하며 가시적인 성과는 한 번도 얻어보지 못하였다. 이렇게 캐글을 깨작거리기만 하는 와중 "XGBoost라는 알고리즘이 쩔더라!" 라는 말은 들어보았지만, 실제로 왜 그런지에 대해는 알아볼 엄두도 내지 못하고 있던 와중 한빛 미디어의 나는 리뷰어다 이벤트를 통해 <XGBoost와 사이킷런을 활용한 그레이디언트 부스팅>을 리뷰할 기회가 생겨 뒤도 돌아보지 않고 신청해버렸다.

    인공지능 분야로 출발하기 위한 첫걸음

    이 책의 구성은 크게 3부분으로 나뉜다. 1부에서는 머신러닝의 개요에 대해 전반적으로 다루고 있다. 특히 데이터 분석의 기초가 되는 데이터 랭글링(데이터에 대한 이해도를 높이고, 학습에 필요한 데이터를 선택하고 불필요하거나 누락된 데이터를 처리하는 과정), 회귀 모델과 분류 모델에 대한 간단한 설명으로 출발하여 결정 트리(Decision Tree), 배깅과 랜덤 포레스트, 그레이디언트 부스팅에서 XGBoost까지 차근차근 짚어주듯이 넘어간다.

    2부에서는 본격적인 XGBoost에 대해 설명을 시작한다. XGBoost가 왜 유명해지기 시작했는지, 어떤 부분이 기존의 그레이디언트 부스팅과 차이가 나는지 설명해준다. 그리고 나서 XGBoost의 하이퍼파라미터에 대한 설명과 어떤 전략으로 튜닝을 할지 알려주고, 캐글의 외계행성 데이터셋을 활용해 실전 연습 과정을 보여준다.

    마지막 3부에서는 여러 학습기들이 작동하는 XGBoost 내부의 기본 학습기들에 대해 알아보는 내용과, 캐글 마스터의 데이터 분석과 모델링 과정을 담은 내용, 마지막으로는 XGBoost 모델을 배포하는 파이프라인을 알아보는 내용까지 담겨 있다.

    전반적인 책의 내용은 이제 막 데이터 사이언스 분야나 기계학습 분야에 입문자들이 높아만 보이던 캐글의 벽을 조금이라도 쉽게 넘어갈 수 있도록 구성되어 있어 책을 읽는 내내 다시 한번 캐글 대회를 도전해보고 싶다는 마음이 들도록 되어 있다. 물론 각 대회마다의 특성이 달라 딥러닝 네트워크까지 빠삭하게 알고 있어야 하거나, 데이터 분석만을 필요로 하는 대회도 있어서 이 책 한 권으로 캐글 마스터가 될 수 있지는 않겠지만, XGBoost와 사이킷런만 활용하여 리더보드에 이름을 올려보는 시도는 할 수 있을 것 같다.

    이 책의 장점과 단점

    앞서 말해온것 처럼 이 책은 캐글 초보자들이 중수까지 올라가기에 딱 좋은 발판으로 생각이 된다. 알고 있는 머신러닝 모델이 많지 않아 얼마나 깊이 있는지에 대해 알기는 어렵지만, 개인적인 인상으로는 하나의 내용을 깊게 파며 샅샅이 분석해보기보단 XGBoost와 사이킷런이라는 툴을 활용해 실제 캐글 대회에서는 어떻게 활용하면 좋을지에 대한 내용이 주를 이루고 있어 보다 실용적인 책이라는 느낌을 받았다.

    대체로 읽기 수월하고, 따라 치며 배우기 좋은 내용들로 가득 차 있어 만족스럽게 읽었다. 그럼에도 불구하고 개인적인 소소한 아쉬움을 하나 말하자면 모든 실습 내용에 전체 데이터에 대한 성능 분석은 담겨져 있지만 개별 데이터에 대한 결과 예시가 없는 점이 아쉬웠다. 물론 기계학습이라는 도메인의 특성상 그 결과를 시각적으로 담기는 어려울 수 있겠지만, 개별 데이터에 대한 시각화를 통해 내가 만든 모델이 특정 데이터에 대해선 이런 결과를 보인다는 것을 확인해보는 것 또한 실습 과정에서 필요한 경우라 생각되었지만 그러한 부분이 없었다.

    작은 아쉬움 하나만 빼자면, <XGBoost와 사이킷런을 활용한 그레이디언트 부스팅>은 XGBoost에 대해 알아보고 싶은 초보 캐글러라면 이 책을 통해 본격적인 리더보드 등반을 시도해 보는 것이 어떨까?

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

도서판매처

리뷰쓰기

닫기
* 도서명 :
XGBoost와 사이킷런을 활용한 그레이디언트 부스팅
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
XGBoost와 사이킷런을 활용한 그레이디언트 부스팅
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
XGBoost와 사이킷런을 활용한 그레이디언트 부스팅
구입처*
구입일*
부가기호*
부가기호 안내

* 인터넷 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실