sklearn ile pipeline'lara genel bakış

XGBoost ile Aşırı Gradyan Artırma

Sergey Fogelson

Head of Data Science, TelevisaUnivision

Pipeline özeti

  • Girdi olarak adlandırılmış 2-öğeli tuple listesi alır (ad, pipeline_adımı)
  • Tuple'lar scikit-learn uyumlu herhangi bir tahminleyici veya dönüştürücü içerebilir
  • Pipeline fit/predict yöntemlerini uygular
  • Grid/randomized arama ve cross_val_score yöntemlerine tahminleyici girdi olarak kullanılabilir
XGBoost ile Aşırı Gradyan Artırma

Scikit-learn pipeline örneği

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 ile Aşırı Gradyan Artırma

Scikit-learn pipeline örneği

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

print("Final RMSE:", final_avg_rmse)
Final RMSE: 4.54530686529
XGBoost ile Aşırı Gradyan Artırma

Ön işleme I: LabelEncoder ve OneHotEncoder

  • LabelEncoder: Kategorik bir metin sütununu tamsayılara çevirir
  • OneHotEncoder: Bu tamsayı sütununu kukla değişkenlere kodlar
  • Pipeline içinde yapılamaz
XGBoost ile Aşırı Gradyan Artırma

Ön işleme II: DictVectorizer

  • Geleneksel olarak metin işlemde kullanılır
  • Özellik eşlemesi listelerini vektörlere dönüştürür
  • DataFrame'i sözlük girişleri listesine çevirmek gerekir
  • scikit-learn belgelerini incele
XGBoost ile Aşırı Gradyan Artırma

Hadi pipeline'lar oluşturalım!

XGBoost ile Aşırı Gradyan Artırma

Preparing Video For Download...