Recapitulare: pipeline-uri în sklearn

Gradient Boosting Extrem cu XGBoost

Sergey Fogelson

Head of Data Science, TelevisaUnivision

Recapitulare Pipeline

  • Primește o listă de tuple cu nume (nume, pas_pipeline)
  • Tuplele pot conține orice estimator sau transformator compatibil scikit-learn
  • Pipeline implementează metodele fit/predict
  • Poate fi folosit ca estimator în grid/randomized search și cross_val_score
Gradient Boosting Extrem cu XGBoost

Exemplu de pipeline 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)
Gradient Boosting Extrem cu XGBoost

Exemplu de pipeline scikit-learn

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

print("Final RMSE:", final_avg_rmse)
Final RMSE: 4.54530686529
Gradient Boosting Extrem cu XGBoost

Preprocesare I: LabelEncoder și OneHotEncoder

  • LabelEncoder: Convertește o coloană categorică de șiruri în numere întregi
  • OneHotEncoder: Codifică coloana de întregi ca variabile dummy
  • Nu poate fi utilizat în cadrul unui pipeline
Gradient Boosting Extrem cu XGBoost

Preprocesare II: DictVectorizer

  • Utilizat tradițional în procesarea textului
  • Convertește liste de mapări de caracteristici în vectori
  • DataFrame-ul trebuie convertit într-o listă de dicționare
  • Consultați documentația scikit-learn
Gradient Boosting Extrem cu XGBoost

Să construim pipeline-uri!

Gradient Boosting Extrem cu XGBoost

Preparing Video For Download...