sklearn के साथ पाइपलाइनों की समीक्षा

XGBoost के साथ Extreme Gradient Boosting

Sergey Fogelson

Head of Data Science, TelevisaUnivision

Pipeline समीक्षा

  • इनपुट के रूप में नामित 2-ट्यूपल्स (name, pipeline_step) की सूची लेता है
  • ट्यूपल्स में कोई भी scikit-learn संगत estimator या transformer ऑब्जेक्ट हो सकता है
  • Pipeline में fit/predict मेथड्स होते हैं
  • grid/randomized search और cross_val_score मेथड्स में इनपुट estimator की तरह इस्तेमाल कर सकते हैं
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

Preprocessing I: LabelEncoder और OneHotEncoder

  • LabelEncoder: श्रेणीबद्ध string कॉलम को integers में बदलता है
  • OneHotEncoder: integers कॉलम को dummy variables में एन्कोड करता है
  • यह पाइपलाइन के भीतर नहीं किया जा सकता
XGBoost के साथ Extreme Gradient Boosting

Preprocessing II: DictVectorizer

  • पारंपरिक रूप से text प्रोसेसिंग में उपयोग होता है
  • फीचर मैपिंग की सूचियों को वेक्टर में बदलता है
  • DataFrame को dictionaries की सूची में बदलना पड़ता है
  • scikit-learn documentation देखें
XGBoost के साथ Extreme Gradient Boosting

आइए पाइपलाइन बनाएँ!

XGBoost के साथ Extreme Gradient Boosting

Preparing Video For Download...