Beslutsträd som baslärandemaskiner
Nu är det dags att bygga en XGBoost-modell för att förutsäga huspriser – inte i Boston, Massachusetts, som i videon, utan i Ames, Iowa! Datamängden med huspriser har redan laddats in i en DataFrame som heter df. Om du utforskar den i Shell ser du att det finns en rad olika särdrag om husen och deras placering i staden.
I den här övningen är målet att använda träd som baslärandemaskiner. Som standard använder XGBoost träd som baslärandemaskiner, så du behöver inte ange booster="gbtree" explicit.
xgboost har importerats som xgb och arrayerna för särdragen och målvariabeln finns tillgängliga i X respektive y.
Den här övningen är en del av kursen
Extreme Gradient Boosting med XGBoost
Övningsinstruktioner
- Dela upp
dfi tränings- och testmängder, där 20 % hålls undan för testning. Användrandom_state=123. - Instansiera
XGBRegressorsomxg_regmedseed=123. Ange"reg:squarederror"som målsättningsfunktion och använd 10 träd. Obs: Du behöver inte angebooster="gbtree"eftersom det är standardvärdet. - Träna
xg_regpå träningsdata och förutsäg etiketterna för testmängden. Spara förutsägelserna i en variabel kalladpreds. - Beräkna
rmsemed hjälp avnp.sqrt()och funktionenmean_squared_error()frånsklearn.metrics, som redan har importerats.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Create the training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, ____=____, random_state=123)
# Instantiate the XGBRegressor: xg_reg
xg_reg = ____
# Fit the regressor to the training set
____
# Predict the labels of the test set: preds
preds = ____
# Compute the rmse: rmse
rmse = ____(____(____, ____))
print("RMSE: %f" % (rmse))