Created
August 22, 2018 21:14
-
-
Save accessnash/a7c201276efb38c11054203cfed6970f to your computer and use it in GitHub Desktop.
Machine Learning with Tree-Based Models in Python : Ch - 4 - Adaboosting, Gradient boosting and Stochastic Gradient boosting - Datacamp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Import DecisionTreeClassifier | |
from sklearn.tree import DecisionTreeClassifier | |
# Import AdaBoostClassifier | |
from sklearn.ensemble import AdaBoostClassifier | |
# Instantiate dt | |
dt = DecisionTreeClassifier(max_depth=2, random_state=1) | |
# Instantiate ada | |
ada = AdaBoostClassifier(base_estimator=dt, n_estimators=180, random_state=1) | |
# Fit ada to the training set | |
ada.fit(X_train, y_train) | |
# Compute the probabilities of obtaining the positive class | |
y_pred_proba = ada.predict_proba(X_test)[:, 1] | |
# Import roc_auc_score | |
from sklearn.metrics import roc_auc_score | |
# Evaluate test-set roc_auc_score | |
ada_roc_auc = roc_auc_score(y_test, y_pred_proba) | |
# Print roc_auc_score | |
print('ROC AUC score: {:.2f}'.format(ada_roc_auc)) | |
# Gradient Boosting | |
from sklearn.ensemble import GradientBoostingRegressor | |
# Instantiate gb | |
gb = GradientBoostingRegressor(max_depth = 4, | |
n_estimators=200, | |
random_state=2) | |
# Fit gb to the training set | |
gb.fit(X_train, y_train) | |
# Predict test set labels | |
y_pred = gb.predict(X_test) | |
from sklearn.metrics import mean_squared_error as MSE | |
# Compute MSE | |
mse_test = MSE(y_test, y_pred) | |
# Compute RMSE | |
rmse_test = (mse_test)**(1/2) | |
# Print RMSE | |
print('Test set RMSE of gb: {:.3f}'.format(rmse_test)) | |
# Stochastic Gradient Boosting | |
from sklearn.ensemble import GradientBoostingRegressor | |
# Instantiate sgbr | |
sgbr = GradientBoostingRegressor(max_depth=4, | |
subsample=0.9, | |
max_features=0.75, | |
n_estimators=200, | |
random_state=2) | |
# Fit sgbr to the training set | |
sgbr.fit(X_train, y_train) | |
# Predict test set labels | |
y_pred = sgbr.predict(X_test) | |
# Compute test set MSE | |
mse_test = MSE(y_test, y_pred) | |
# Compute test set RMSE | |
rmse_test = mse_test**(1/2) | |
# Print rmse_test | |
print('Test set RMSE of sgbr: {:.3f}'.format(rmse_test)) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment