from sklearn.datasets import load_boston data = load_boston() X, y = data['data'], data['target'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=111) # create dataset dataset = Dataset(X_train,y_train,X_test) # initialize RandomForest & LinearRegression model_rf = Regressor(dataset=dataset, estimator=RandomForestRegressor, parameters={'n_estimators': 50},name='rf') model_lr = Regressor(dataset=dataset, estimator=LinearRegression, parameters={'normalize': True},name='lr') # Stack two models # Returns new dataset with out-of-fold predictions pipeline = ModelsPipeline(model_rf,model_lr) stack_ds = pipeline.blend(proportion=0.2,seed=111) # Train LinearRegression on stacked data (second stage) stacker = Regressor(dataset=stack_ds, estimator=LinearRegression) results = stacker.predict() # Validate results using 10 fold cross-validation results = stacker.validate(k=10,scorer=mean_absolute_error) #Weighted dataset = Dataset(preprocessor=boston_dataset) model_rf = Regressor(dataset=dataset, estimator=RandomForestRegressor, parameters={'n_estimators': 151},name='rf') model_lr = Regressor(dataset=dataset, estimator=LinearRegression, parameters={'normalize': True},name='lr') model_knn = Regressor(dataset=dataset, estimator=KNeighborsRegressor, parameters={'n_neighbors': 15},name='knn')
dataset = Dataset(X_train, y_train, X_test) # initialize RandomForest & LinearRegression model_rf = Regressor(dataset=dataset, estimator=RandomForestRegressor, parameters={'n_estimators': 50}, name='rf') model_lr = Regressor(dataset=dataset, estimator=LinearRegression, parameters={'normalize': True}, name='lr') # Stack two models # Returns new dataset with out-of-fold predictions pipeline = ModelsPipeline(model_rf, model_lr) stack_ds = pipeline.blend(proportion=0.2, seed=111) # Train LinearRegression on stacked data (second stage) stacker = Regressor(dataset=stack_ds, estimator=LinearRegression) results = stacker.predict() # Validate results using 10 fold cross-validation results = stacker.validate(k=10, scorer=mean_absolute_error) #Weighted dataset = Dataset(preprocessor=boston_dataset) model_rf = Regressor(dataset=dataset, estimator=RandomForestRegressor, parameters={'n_estimators': 151}, name='rf') model_lr = Regressor(dataset=dataset,
#model_lascv = Regressor(dataset=dataset, estimator=lascv, parameters=params_lascv,name='lascv') model_br = Regressor(dataset=dataset, estimator=br, parameters=params_br,name='br') model_knn = Regressor(dataset=dataset, estimator=knn, parameters=params_knn,name='knn') #blending = pipeline.blend(proportion=0.3,seed=111) params_las = {'alpha':1.7} params_rcv2 = {'cv':5,'normalize':True,'gcv_mode':'auto','scoring':'neg_mean_squared_error'} params_lascv = {'max_iter':500,'cv':8} pipeline = ModelsPipeline(model_rf1,model_knn) stack_ds = pipeline.stack(k=5,seed=111) stacker = Regressor(dataset=stack_ds,estimator=LassoCV, parameters=params_lascv) y_pre = stacker.predict() pipeline2 = ModelsPipeline(model_rf1,model_knn) stack_ds2 = pipeline2.blend(seed=111) blending = Regressor(dataset=stack_ds2,estimator=LassoCV, parameters=params_lascv) y_pre2 = blending.predict() blending_pre.append(y_pre2) #print(y_pre) #y_pre = pipeline.blend() #print(y_pre) ### #loss_stack = Evaluation([y_pre],[y_test]) stacking_pre.append(y_pre) #weights = pipeline.find_weights(mean_absolute_error) #print(weights) #result = pipeline.weight(weights).execute()