def regtree(par, *data): X_train, X_test, Y_train, Y_test = data regTreeModel=tree.DecisionTreeRegressor\ (max_features=par[0],min_samples_split=par[1],min_samples_leaf=par[2], min_weight_fraction_leaf=par[3],max_leaf_nodes=int(par[4])) fitModel = linear_model.LinearRegression() Yp,Yptrain,regTreeModel,fitModelList,predind=\ SSRS.RegressionTree(X_train,X_test,Y_train,Y_test,regTreeModel,fitModel,Field, doFitSelection=0,doMultiBand=1) rmse, rmse_band = SSRS.RMSEcal(Yp, Y_test) print(rmse) return rmse
# nn = Regressor( # layers=[ # Layer("Sigmoid", units=200), # Layer("Sigmoid", units=200), # Layer("Linear")], # learning_rate=0.1, # n_iter=200,verbose=1) X_train,X_test,Y_train,Y_test = cross_validation.train_test_split(\ Xn,Y,test_size=0.2,random_state=0) # predict correlation Yp,Yptrain,regModelList=SSRS.Regression\ (X_train,X_test,Y_train,Y_test,multiband=1,regModel=regModel,doplot=0) rmse, rmse_band = SSRS.RMSEcal(Yp, Y_test) rmse_train, rmse_band_train = SSRS.RMSEcal(Yptrain, Y_train) print(rmse) print(rmse_train) print(np.corrcoef(Yp[:, 0], Y_test[:, 0])) par = [1.0, 16, 6, 20, 0.15] regTreeModel=tree.DecisionTreeRegressor\ (max_features=par[0],max_depth=par[1],min_samples_split=par[2],min_samples_leaf=par[3], min_weight_fraction_leaf=par[4],max_leaf_nodes=18) fitModel = linear_model.LinearRegression() Yp,Yptrain,regTreeModel,fitModelList,predind=SSRS.RegressionTree\ (X_train,X_test,Y_train,Y_test,regTreeModel,fitModel,Field,doFitSelection=0) rmse, rmse_band = SSRS.RMSEcal(Yp, Y_test) rmse_train, rmse_band_train = SSRS.RMSEcal(Yptrain, Y_train) print(rmse)