[XGBoost Study] Ch1. 머신러닝 개요

Smiling Sammy·2022년 9월 9일
0

xgboost-study

목록 보기
1/7

출처: 코리 웨이드.(2022). XGBoost와 사이킷런을 활용한 그레이디언트 부스팅. 서울:한빛미디어

XGBoost 소개

XGBoost는 Kaggle 대회에서 압도적인 성능으로 인기가 많아짐
XGBoost = Extreme Gradient Boosting

  • Boosting: 약한 학습기를 반복적으로 오차를 개선하여 강한 학습기로 바꾸는 것
  • Gradient Boosting: 경사하강법을 사용하여 오차를 최소화하는 것
  • Extreme: 정확도와 속도를 위해 계산량을 극대화하는 것

머신러닝

머신러닝은 "컴퓨터가 데이터를 이용해 학습하는 능력"
샘플과 특성으로 이루어진 데이터가 필요함

데이터 랭글링

데이터 랭글링: 다양한 데이터 전처리 단계를 포함하는 광범위한 용어

  • ex. 데이터 로딩, 정제, 분석, 조작 등

Pandas library 활용

  • 데이터 이해하기: head(), describe(), info()
  • 결측치 처리
    • 결측치 개수 확인: isna().sum().sum()
    • 결측치 출력: df[df.isna().any(axis=1)
    • 결측치 고치기: df[column].fillna(~~, inplace=True)
      - 주로 중간값 or 평균으로 바꿈 (전체 or 그룹별)
  • Dummy 변수 처리: pd.get_dummies(df)

모델링

머신러닝 알고리즘 목표는 "하나 이상의 특성을 가진 입력 데이터를 사용해 하나의 출력 값을 예측하는 것"

회귀 모델
1. Linear Regression
2. XGBoost Regressor (XGBRegressor)

분류 모델
1. Logistic Regression
2. XGBoost Classifier (XGBClassifier)

교차 검증: Train/Validation 분할에 따라 점수에 차이가 나는 문제를 해결하는 방법 (Using K-Fold cross-validation)

  • 보통 5-Fold를 많이 사용 (전체 데이터의 20%가 Validation)
  • 작은 데이터셋인 경우 3-Fold 사용

회귀 / 분류 모델 모두 XGBoost가 좋은 성능을 보임

참고

profile
Data Scientist, Data Analyst

0개의 댓글