Guest User

Untitled

a guest
Jan 22nd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. import numpy as np
  2. from sklearn.ensemble import *
  3. import xgboost as xgb
  4. from sklearn.cross_validation import train_test_split
  5.  
  6. X = np.random.uniform(size=(100,10))
  7. Y = np.random.uniform(size=(100))
  8.  
  9. # split our dataset for validation
  10. train_X, test_X, train_Y, test_Y = train_test_split(X, Y, test_size = 0.2)
  11.  
  12. # our base models
  13. ada = AdaBoostRegressor(n_estimators=500, learning_rate=0.1)
  14. bagging = BaggingRegressor(n_estimators=500)
  15. et = ExtraTreesRegressor(n_estimators=500)
  16. gb = GradientBoostingRegressor(n_estimators=500, learning_rate=0.1, loss='lad',criterion='mse')
  17. rf = RandomForestRegressor(n_estimators=500)
  18.  
  19. # fit our base models
  20. ada.fit(train_X, train_Y)
  21. bagging.fit(train_X, train_Y)
  22. et.fit(train_X, train_Y)
  23. gb.fit(train_X, train_Y)
  24. rf.fit(train_X, train_Y)
  25.  
  26. # predict our train set
  27. ada_out_train = ada.predict(train_X)
  28. bagging_out_train = bagging.predict(train_X)
  29. et_out_train = et.predict(train_X)
  30. gb_out_train = gb.predict(train_X)
  31. rf_out_train = rf.predict(train_X)
  32.  
  33. # predict our test set
  34. ada_out_test = ada.predict(test_X)
  35. bagging_out_test = bagging.predict(test_X)
  36. et_out_test = et.predict(test_X)
  37. gb_out_test = gb.predict(test_X)
  38. rf_out_test = rf.predict(test_X)
  39.  
  40. # concat column-wise for train
  41. stack_predict_train = np.vstack([ada_out_train,bagging_out_train,et_out_train,gb_out_train,rf_out_train]).T
  42.  
  43. # concat column-wise for test
  44. stack_predict_test = np.vstack([ada_out_test,bagging_out_test,et_out_test,gb_out_test,rf_out_test]).T
  45.  
  46. params_xgd = {
  47. 'max_depth': 7,
  48. 'objective': 'reg:linear',
  49. 'learning_rate': 0.033,
  50. 'n_estimators': 1000
  51. }
  52. clf = xgb.XGBRegressor(**params_xgd)
  53. clf.fit(stack_predict_train, train_Y, eval_set=[(stack_predict_test, test_Y)],
  54. eval_metric='rmse', early_stopping_rounds=20, verbose=True)
  55.  
  56. # print mean square error
  57. print(np.mean(np.square(test_Y - clf.predict(stack_predict_test)))
Add Comment
Please, Sign In to add comment