Gradient Boosting Cực Mạnh với XGBoost
Sergey Fogelson
Head of Data Science, TelevisaUnivision
import pandas as pd import xgboost as xgb import numpy as np from sklearn.preprocessing import StandardScaler from sklearn.pipeline import Pipeline from sklearn.model_selection import cross_val_scorenames = ["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]xgb_pipeline = Pipeline[("st_scaler", StandardScaler()), ("xgb_model",xgb.XGBRegressor())] scores = cross_val_score(xgb_pipeline, X, y, scoring="neg_mean_squared_error",cv=10)final_avg_rmse = np.mean(np.sqrt(np.abs(scores))) print("Final XGB RMSE:", final_avg_rmse)
Final RMSE: 4.02719593323
sklearn_pandas:DataFrameMapper - Kết nối giữa pandas và scikit-learnsklearn.impute:SimpleImputer - Nội suy trực tiếp cho cột số và cột phân loại trong scikit-learnsklearn.pipeline:FeatureUnion - kết hợp nhiều pipeline đặc trưng thành một pipeline đặc trưng duy nhấtGradient Boosting Cực Mạnh với XGBoost