Přehled pipeline v sklearn

Extreme Gradient Boosting with XGBoost

Sergey Fogelson

Head of Data Science, TelevisaUnivision

Přehled Pipeline

  • Přijímá seznam pojmenovaných 2-tic (název, krok_pipeline) jako vstup
  • N-tice mohou obsahovat libovolný estimátor nebo transformátor kompatibilní se scikit-learn
  • Pipeline implementuje metody fit/predict
  • Lze použít jako vstupní estimátor pro grid/randomized search a metodu cross_val_score
Extreme Gradient Boosting with XGBoost

Příklad pipeline v 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)
Extreme Gradient Boosting with XGBoost

Příklad pipeline v scikit-learn

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

print("Final RMSE:", final_avg_rmse)
Final RMSE: 4.54530686529
Extreme Gradient Boosting with XGBoost

Předzpracování I: LabelEncoder a OneHotEncoder

  • LabelEncoder: Převede kategorický sloupeček řetězců na celá čísla
  • OneHotEncoder: Převede sloupeček celých čísel na dummy proměnné
  • Nelze použít přímo v pipeline
Extreme Gradient Boosting with XGBoost

Předzpracování II: DictVectorizer

  • Tradičně využíváno při zpracování textu
  • Převádí seznam mapování příznaků na vektory
  • DataFrame je nutné převést na seznam slovníkových záznamů
  • Viz dokumentace scikit-learn
Extreme Gradient Boosting with XGBoost

Pojďme sestavit pipeline!

Extreme Gradient Boosting with XGBoost

Preparing Video For Download...