sklearn을 사용한 파이프라인 복습

XGBoost로 익히는 Extreme Gradient Boosting

Sergey Fogelson

Head of Data Science, TelevisaUnivision

Pipeline 복습

  • 이름 있는 2-튜플(name, pipeline_step) 목록을 입력으로 받습니다
  • 튜플에는 scikit-learn 호환 추정기 또는 변환기 객체를 포함할 수 있습니다
  • Pipeline은 fit/predict 메서드를 구현합니다
  • grid/randomized search 및 cross_val_score 메서드의 입력 추정기로 사용 가능합니다
XGBoost로 익히는 Extreme Gradient Boosting

Scikit-learn 파이프라인 예제

import pandas as pd
from sklearn.ensemble import RandomForestRegressor
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]
rf_pipeline = Pipeline[("st_scaler", StandardScaler()), ("rf_model",RandomForestRegressor())] scores = cross_val_score(rf_pipeline,X,y, scoring="neg_mean_squared_error",cv=10)
XGBoost로 익히는 Extreme Gradient Boosting

Scikit-learn 파이프라인 예제

final_avg_rmse = np.mean(np.sqrt(np.abs(scores)))

print("Final RMSE:", final_avg_rmse)
Final RMSE: 4.54530686529
XGBoost로 익히는 Extreme Gradient Boosting

전처리 I: LabelEncoder와 OneHotEncoder

  • LabelEncoder: 문자열 범주형 열을 정수로 변환합니다
  • OneHotEncoder: 정수 열을 더미 변수로 인코딩합니다
  • 파이프라인 내에서는 사용할 수 없습니다
XGBoost로 익히는 Extreme Gradient Boosting

전처리 II: DictVectorizer

  • 전통적으로 텍스트 처리에 사용됩니다
  • 피처 매핑 목록을 벡터로 변환합니다
  • DataFrame을 딕셔너리 항목 목록으로 변환해야 합니다
  • scikit-learn 문서를 참고하세요
XGBoost로 익히는 Extreme Gradient Boosting

파이프라인을 만들어 봅시다!

XGBoost로 익히는 Extreme Gradient Boosting

Preparing Video For Download...