-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
I have an issue on moving my code from old version to new version
rmse_scorer = make_scorer(calculate_rmse, greater_is_better=False)
config = {
'NoPreprocessing': {
},
'SavitzkyGolay': {
'filter_win': np.arange(7, 27, 2),
'deriv_order': [0, 1, 2]
},
'LocalStandardNormalVariate': {
'num_windows': [2, 3, 4, 5, 6, 7]
},
'MultipleScatterCorrection': {
},
'Normalize': {
},
'StandardNormalVariate': {
},
'Baseline': {
},
'Detrend': {
},
'sklearn.preprocessing.RobustScaler': {
},
'sklearn.preprocessing.StandardScaler': {
},
'sklearn.preprocessing.PolynomialFeatures': {
'degree': [2],
'include_bias': [True, False],
'interaction_only': [True, False]
},
'sklearn.decomposition.FastICA': {
'n_components': np.arange(1, 187, 1),
'tol': np.arange(0.0, 1.01, 0.05),
'whiten': [True, False],
'algorithm': ['parallel', 'deflation'],
'fun': ['logcosh', 'exp', 'cube']
},
'sklearn.decomposition.PCA': {
'n_components': np.arange(1, 10, 1),
'svd_solver': ['randomized'],
'iterated_power': range(1, 11)
},
'sklearn.linear_model.ElasticNetCV': {
'l1_ratio': np.arange(0.0, 1.01, 0.05),
'tol': [1e-5, 1e-4, 1e-3, 1e-2, 1e-1]
},
'sklearn.linear_model.LassoLarsCV': {
'normalize': [True, False],
'fit_intercept': [True, False]
},
'sklearn.svm.SVR': {
'loss': ["epsilon_insensitive", "squared_epsilon_insensitive"],
'kernel':['linear', 'poly', 'rbf'],
'degree':[1, 2, 3],
#'dual': [True, False],
'tol': [1e-5, 1e-4, 1e-3, 1e-2, 1e-1],
'C': [1e-4, 1e-3, 1e-2, 1e-1, 0.5, 1., 5., 10., 15., 20., 25.],
'epsilon': [1e-4, 1e-3, 1e-2, 1e-1, 1.]
},
'sklearn.linear_model.RidgeCV': {
'alpha': np.logspace(-10, 10, 50),
'fit_intercept': [True, False]
},
'xgboost.XGBRegressor': {
'n_estimators': [100],
'max_depth': range(1, 11),
'learning_rate': [1e-3, 1e-2, 1e-1, 0.5, 1.],
'subsample': np.arange(0.05, 1.01, 0.05),
'min_child_weight': range(1, 21),
'n_jobs': [1],
'verbosity': [0],
'objective': ['reg:squarederror']
},
'sklearn.cross_decomposition.PLSRegression': {
'n_components': range(5, 12)
},
'sklearn.linear_model.TweedieRegressor': {
'power':[0,1,2,3],
'alpha':np.arange(0,3,0.02),
'link':['auto', 'identity', 'log'],
'solver': ['lbfgs', 'newton-cholesky']
},
'sklearn.feature_selection.VarianceThreshold': {
'threshold': [0, .01, .1, .5]
},
'sklearn.feature_selection.SelectPercentile': {
'percentile': [5, 7.5, 10, 12, 15]
},
'sklearn.feature_selection.RFE': {
'estimator': {
'sklearn.cross_decomposition.PLSRegression': {
'n_components': range(5, 12)
}
}
},
'sklearn.feature_selection.SelectFromModel': {
'threshold': np.arange(0, 1.01, 0.05),
'estimator': {
'sklearn.cross_decomposition.PLSRegression': {
'n_components': range(5, 12)
}
}
}
}
pipeline_optimizer = TPOTRegressor(generations=100, population_size=50, cv=5,
config_dict=config, verbosity=2,random_state=42,scoring = rmse_scorer,
n_jobs=-1)
Assuming X_cal.values and y_cal.values are defined
try:
pipeline_optimizer.fit(x.values, y.values[:,0])
except Exception as e:
print(f'Error during model fitting: {e}')
Export the optimized pipeline
try:
pipeline_optimizer.export('C:/Users/abiyh/Downloads/abhiy_newest/abhiy_newest/abhiy.py')
print('Model export complete. Pipeline saved as tpot_db_bsu_pipeline.py.')
except Exception as e:
print(f'Error during model export: {e}')