[개정2판] 파이썬 라이브러리를 활용한 머신러닝

<[개정2판] 파이썬 라이브러리를 활용한 머신러닝>은 scikit-learn의 코어 개발자이자 배포 관리자인 안드레아스 뮐러Andreas Mueller와 매쉬어블의 데이터 과학자인 세라 가이도Sarah Guido가 쓴 Introduction to Machine Learning with Python의 번역서입니다.

개정2판에서는 사이킷런 1.x 버전에 맞추어 전체 코드를 업데이트하고 새롭게 추가된 기능을 반영했습니다. 또한 전체 코드를 구글 코랩(Colab)에서 실습할 수 있도록 수정하였습니다. 물론 풀 컬러 인쇄입니다! 🙂

주요 변경 사항은 다음과 같습니다.

  • QuantileRegressor 예제 추가
  • SGDClassifier, SGDRegressor 예제 추가
  • n_features_in_, feature_names_in_, get_feature_names_out() 메서드 설명 추가
  • 히스토그램 기반 부스팅 예제 추가
  • permutation_importance() 함수 설명 추가
  • 트리 기반 앙상블 모델의 매개변수 비교
  • 설명된 분산 비율, 엘보우 메서드 예제 추가
  • RandomizedSearchCV, HalvingGridSearchCV 예제 추가
  • 온라인/오프라인 서점에서 판매중입니다. [YES24], [교보문고], [한빛미디어]
  • 504 페이지, 종이책: 33,000원—>29,700원, 전자책 26,400원
  • 이 책에 실린 코드는 깃허브에서 주피터 노트북으로 볼 수 있습니다. [github], [nbviewer]
  • 이 책의 코드는 scikit-learn 1.0.1 버전에서 테스트 되었습니다.

이 페이지에서 책의 에러타와 사이킷런 버전 변경에 따른 바뀐 점들을 계속 업데이트 하겠습니다.

이 책에 대해 궁금한 점이나 오류가 있으면 이 페이지 맨 아래 Your Inputs에 자유롭게 글을 써 주세요. 또 제 이메일을 통해서 알려 주셔도 되고 구글 그룹스 파이썬 머신러닝 Q&A에 글을 올려 주셔도 좋습니다.

감사합니다! 🙂


Outputs (aka. errata)

  1. (p102) 사이킷런 1.3 버전부터 SGDClassifier의 loss 매개변수 중 로지스틱 손실을 의미하는 'log'가 'log_loss'로 바뀔 예정이므로 첫 번째 줄에서 “훈련합니다.”를 “훈련합니다(1.3 버전에서 'log''log_loss'로 바뀔 예정입니다).“로 수정합니다.
  2. RandomForestClassifierExtraTreesClassifiermax_features 매개변수 기본값이 'auto'에서 'sqrt'로 바뀔 예정이므로,
    • (p127) 주석 47번을 다음과 같이 바꿉니다. “RandomForestClassifiermax_features 기본값이 'auto'sqrt(n_features)를 의미합니다. 1.3 버전에서는 max_features 기본값이 'auto'에서 'sqrt'로 바뀔 예정입니다.
    • (p143) 표 2-2에서 랜덤포레스트와 엑스트라트리의 ‘특성 개수’ 항목을 다음과 같이 수정합니다.
      분류: max_features=’auto’ (1.3 버전에서 ‘sqrt’로 변경예정)
      회귀: 전체 특성
    • (p315) 주석 20번에서 “랜덤 포레스트의 기본값은 "auto"로 특성 개수의 제곱근을 나타내며, … 하지만 max_features="auto"로 설정하면…”을 “랜덤 포레스트 분류기는 기본적으로 특성 개수의 제곱근을 사용하며, … 하지만 max_features="sqrt"로 설정하면…”로 수정합니다.
  3. GradientBoostingClassifierloss 매개변수 기본값이 1.3 버전에서 'deviance'에서 'log_loss'로 바뀔 예정이므로
    • (p128) 주석 50번 네 번째 줄에서 “손실을 의미하는 'deviance'입니다.”를 “손실을 의미하는 'deviance'입니다(1.3 버전에서 'deviance''log_loss'로 바뀔 예정입니다).”로 수정합니다.
    • (p143) 표 2-2의 그레이디언트 부스팅의 ‘손실 함수’ 항목에서 “(로지스틱 회귀)”를 “(로지스틱 손실. 1.3 버전에서 'log_loss'로 바뀔 예정)”으로 수정합니다.
  4. (p143) HistGradientBoostingClassifierloss 매개변수 기본값이 1.3 버전에서 'auto'에서 'log_loss'로 바뀔 예정이므로 표 2-2의 히스토그램 기반 부스팅의 ‘손실 함수’ 항목에서 “(이진분류는 'binary_crossentropy', 다중 분류는 'categorical_crossentropy')”을 “(로지스틱 손실. 1.3 버전에서 'log_loss'로 바뀔 예정)”로 수정합니다.
  5. (p297) 버전 1.1에서 OneHotEncoder 클래스에 자주 등장하지 않는 범주를 하나로 묶어주는 min_frequencymax_categories 매개변수가 추가 되었습니다. 4.2절 아래 세 번째 줄에서 “OneHotEncoder 클래스에 구현되어 있습니다.”를 “OneHotEncoder 클래스에 구현되어 있습니다.<주석>옮긴이_ 버전 1.1에서 추가된 min_frequency 매개변수를 사용하면 특정 횟수 또는 비율 보다 적게 등장하는 범주를 하나의 특성으로 합칠 수 있습니다. 또한 max_categories 매개변수를 사용하여 원-핫 인코딩으로 만들어지는 특성의 개수를 제한할 수 있습니다.</주석>“로 수정합니다.

Your Inputs