# parameter objective was removed, due to conflict with experiment objective (use loss_function instead)

cb_keys = {'classification':[ 'iterations', 'learning_rate', 'depth', 'l2_leaf_reg', 'model_size_reg', 'rsm',
                              'loss_function', 'border_count', 'feature_border_type', 'per_float_feature_quantization',
                              'input_borders', 'output_borders', 'fold_permutation_block', 'od_pval', 'od_wait',
                              'od_type', 'nan_mode', 'counter_calc_method', 'leaf_estimation_iterations',
                              'leaf_estimation_method', 'thread_count', 'random_seed', 'use_best_model', 'verbose',
                              'logging_level', 'metric_period', 'ctr_leaf_count_limit', 'store_all_simple_ctr',
                              'max_ctr_complexity', 'has_time', 'allow_const_label', 'classes_count', 'class_weights',
                              'auto_class_weights', 'one_hot_max_size', 'random_strength', 'name', 'ignored_features',
                              'train_dir', 'custom_loss', 'custom_metric', 'eval_metric', 'bagging_temperature',
                              'save_snapshot', 'snapshot_file', 'snapshot_interval', 'fold_len_multiplier',
                              'used_ram_limit', 'gpu_ram_part', 'allow_writing_files', 'final_ctr_computation_mode',
                              'approx_on_full_history', 'boosting_type', 'simple_ctr', 'combinations_ctr',
                              'per_feature_ctr', 'task_type', 'device_config', 'devices', 'bootstrap_type',
                              'subsample', 'sampling_unit', 'dev_score_calc_obj_block_size', 'max_depth',
                              'n_estimators', 'num_boost_round', 'num_trees', 'colsample_bylevel', 'random_state',
                              'reg_lambda', 'eta', 'max_bin', 'scale_pos_weight',
                              'gpu_cat_features_storage', 'data_partition', 'metadata', 'early_stopping_rounds',
                              'cat_features', 'grow_policy', 'min_data_in_leaf', 'min_child_samples', 'max_leaves',
                              'num_leaves', 'score_function', 'leaf_estimation_backtracking', 'ctr_history_unit',
                              'monotone_constraints', 'feature_weights', 'penalties_coefficient',
                              'first_feature_use_penalties', 'model_shrink_rate', 'model_shrink_mode', 'langevin',
                              'diffusion_temperature', 'posterior_sampling', 'boost_from_average', 'text_features',
                              'tokenizers', 'dictionaries', 'feature_calcers', 'text_processing',
                              'fixed_binary_splits'],
           'ranking': ['iterations', 'learning_rate', 'depth', 'l2_leaf_reg', 'model_size_reg', 'rsm',
                             'loss_function', 'border_count', 'feature_border_type', 'per_float_feature_quantization',
                             'input_borders', 'output_borders', 'fold_permutation_block', 'od_pval', 'od_wait',
                             'od_type', 'nan_mode', 'counter_calc_method', 'leaf_estimation_iterations',
                             'leaf_estimation_method', 'thread_count', 'random_seed', 'use_best_model',
                             'best_model_min_trees', 'verbose', 'silent', 'logging_level', 'metric_period',
                             'ctr_leaf_count_limit', 'store_all_simple_ctr', 'max_ctr_complexity', 'has_time',
                             'allow_const_label', 'target_border', 'one_hot_max_size', 'random_strength', 'name',
                             'ignored_features', 'train_dir', 'custom_metric', 'eval_metric', 'bagging_temperature',
                             'save_snapshot', 'snapshot_file', 'snapshot_interval', 'fold_len_multiplier',
                             'used_ram_limit', 'gpu_ram_part', 'pinned_memory_size', 'allow_writing_files',
                             'final_ctr_computation_mode', 'approx_on_full_history', 'boosting_type', 'simple_ctr',
                             'combinations_ctr', 'per_feature_ctr', 'ctr_description', 'ctr_target_border_count',
                             'task_type', 'device_config', 'devices', 'bootstrap_type', 'subsample', 'mvs_reg',
                             'sampling_frequency', 'sampling_unit', 'dev_score_calc_obj_block_size',
                             'dev_efb_max_buckets', 'sparse_features_conflict_fraction', 'max_depth', 'n_estimators',
                             'num_boost_round', 'num_trees', 'colsample_bylevel', 'random_state', 'reg_lambda',
                             'eta', 'max_bin', 'gpu_cat_features_storage', 'data_partition', 'metadata',
                             'early_stopping_rounds', 'cat_features', 'grow_policy', 'min_data_in_leaf',
                             'min_child_samples', 'max_leaves', 'num_leaves', 'score_function',
                             'leaf_estimation_backtracking', 'ctr_history_unit', 'monotone_constraints',
                             'feature_weights', 'penalties_coefficient', 'first_feature_use_penalties',
                             'per_object_feature_penalties', 'model_shrink_rate', 'model_shrink_mode', 'langevin',
                             'diffusion_temperature', 'posterior_sampling', 'boost_from_average', 'text_features',
                             'tokenizers', 'dictionaries', 'feature_calcers', 'text_processing', 'embedding_features',
                             'fixed_binary_splits'],
           'regression': ['iterations', 'learning_rate', 'depth', 'l2_leaf_reg', 'model_size_reg', 'rsm',
                          'loss_function', 'border_count', 'feature_border_type', 'per_float_feature_quantization',
                          'input_borders', 'output_borders', 'fold_permutation_block', 'od_pval', 'od_wait', 'od_type',
                          'nan_mode', 'counter_calc_method', 'leaf_estimation_iterations', 'leaf_estimation_method',
                          'thread_count', 'random_seed', 'use_best_model', 'best_model_min_trees', 'verbose', 'silent',
                          'logging_level', 'metric_period', 'ctr_leaf_count_limit', 'store_all_simple_ctr',
                          'max_ctr_complexity', 'has_time', 'allow_const_label', 'one_hot_max_size', 'random_strength',
                          'name', 'ignored_features', 'train_dir', 'custom_metric', 'eval_metric',
                          'bagging_temperature', 'save_snapshot', 'snapshot_file', 'snapshot_interval',
                          'fold_len_multiplier', 'used_ram_limit', 'gpu_ram_part', 'pinned_memory_size',
                          'allow_writing_files', 'final_ctr_computation_mode', 'approx_on_full_history',
                          'boosting_type', 'simple_ctr', 'combinations_ctr', 'per_feature_ctr',
                          'ctr_target_border_count', 'task_type', 'device_config', 'devices', 'bootstrap_type',
                          'subsample', 'sampling_unit', 'dev_score_calc_obj_block_size', 'max_depth', 'n_estimators',
                          'num_boost_round', 'num_trees', 'colsample_bylevel', 'random_state', 'reg_lambda',
                          'eta', 'max_bin', 'gpu_cat_features_storage', 'data_partition', 'metadata',
                          'early_stopping_rounds', 'cat_features', 'grow_policy', 'min_data_in_leaf',
                          'min_child_samples', 'max_leaves', 'num_leaves', 'score_function',
                          'leaf_estimation_backtracking', 'ctr_history_unit', 'monotone_constraints',
                          'feature_weights', 'penalties_coefficient', 'first_feature_use_penalties',
                          'model_shrink_rate', 'model_shrink_mode', 'langevin', 'diffusion_temperature',
                          'posterior_sampling', 'boost_from_average', 'fixed_binary_splits']}

