XGBoost를 파이프라인에 통합하기

XGBoost로 익히는 Extreme Gradient Boosting

Sergey Fogelson

Head of Data Science, TelevisaUnivision

XGBoost를 활용한 Scikit-learn 파이프라인 예제

import pandas as pd
import xgboost as xgb
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
from sklearn.model_selection import cross_val_score

names = ["crime","zone","industry","charles","no","rooms","age", "distance","radial","tax","pupil","aam","lower","med_price"] data = pd.read_csv("boston_housing.csv",names=names) X, y = data.iloc[:,:-1], data.iloc[:,-1]
xgb_pipeline = Pipeline[("st_scaler", StandardScaler()), ("xgb_model",xgb.XGBRegressor())] scores = cross_val_score(xgb_pipeline, X, y, scoring="neg_mean_squared_error",cv=10)
final_avg_rmse = np.mean(np.sqrt(np.abs(scores))) print("Final XGB RMSE:", final_avg_rmse)
Final RMSE: 4.02719593323
XGBoost로 익히는 Extreme Gradient Boosting

파이프라인에 도입된 추가 구성 요소

  • sklearn_pandas:
    • DataFrameMapper - pandas와 scikit-learn 간의 상호 운용성
  • sklearn.impute:
    • SimpleImputer - scikit-learn의 수치형 및 범주형 열 기본 대체 기능
  • sklearn.pipeline:
    • FeatureUnion - 여러 피처 파이프라인을 하나의 파이프라인으로 결합
XGBoost로 익히는 Extreme Gradient Boosting

연습해 봅시다!

XGBoost로 익히는 Extreme Gradient Boosting

Preparing Video For Download...