In this repository we provide the code used to evaluate the experiments using the optimization benchmark functions.
- pandas 1.4.3
- scikit-learn 1.1.1
- numpy 1.23.1
- tensorflow 2.9.1
- autotune (learner, benchmark-functions)
Install dependencies with pip install -r requirements.txt
Adjust settings in main.py before running tests:
- choose sampler type, has to be in ['random', 'qbc_hetero', 'qbc_homo', 'cross_val', 'lola_voronoi', 'variance']
sampler = 'random'
- choose benchmark function: ackley, rosenbrock
benchmark_fct = 'ackley'
- choose dimension of benchmark function
dim = 8
- choose initial seed
seed = 12345678
- choose initial dataset size
iniial_datasize = 50
- choose poolsize of potential new datapoints per iteration
poolsize = 500
- choose how frequently stopping criteria will be evaluated
eval_cycle = 1
- choose target mse for stopping criterion
target_mse = 0.1
- choose tartet r2-score for stopping criterion
target_r2 = 0.9
- choose maximum datasize
max_datasize = 150
- choose heterogeneous committee members, have to be in ['knn_sk', 'decision_tree_sk', 'gaussian_process_sk', 'svm_sk', 'mlp_sk']
committee_hetero = ['knn_sk', 'decision_tree_sk, 'svm_sk']
- choose model type of homogeneous committee members, has to be in ['knn_sk', 'decision_tree_sk', 'gaussian_process_sk', 'svm_sk', 'mlp_sk']
committee_homo = 'knn_sk'
- choose size of homogeneous committee
committee_homo_size = 3
- choose error model used by cross-validation based sampler, has to be in ['knn_sk', 'decision_tree_sk', 'gaussian_process_sk', 'svm_sk', 'mlp_sk']
cross_val_error_model = 'knn_sk'
- choose distance constraints that will be used for qbc and cross-validation, has to be in ['None', 'avg_min_dist', 'max_min_dist']
distance_constraints = {
'qbc_homo' : None,
'qbc_hetero' : None,
'cross_val' : None,
}