def _calculate_metafeatures_encoded(basename, x_train, y_train, watcher, logger): task_name = "CalculateMetafeaturesEncoded" watcher.start_task(task_name) result = calc_meta_features_encoded( X_train=x_train, Y_train=y_train, categorical=[False] * x_train.shape[1], dataset_name=basename ) watcher.stop_task(task_name) logger.info("Calculating Metafeatures (encoded attributes) took %5.2fsec" % watcher.wall_elapsed(task_name)) return result
def _calculate_metafeatures_encoded(basename, x_train, y_train, watcher, logger): task_name = 'CalculateMetafeaturesEncoded' watcher.start_task(task_name) result = calc_meta_features_encoded(X_train=x_train, Y_train=y_train, categorical=[False] * x_train.shape[1], dataset_name=basename) watcher.stop_task(task_name) logger.info( 'Calculating Metafeatures (encoded attributes) took %5.2fsec' % watcher.wall_elapsed(task_name)) return result
def test_metalearning(self): dataset_name = 'digits' initial_challengers = { ACC_METRIC: "--initial-challengers \" " "-balancing:strategy 'weighting' " "-classifier:__choice__ 'proj_logit'", AUC_METRIC: "--initial-challengers \" " "-balancing:strategy 'none' " "-classifier:__choice__ 'random_forest'", BAC_METRIC: "--initial-challengers \" " "-balancing:strategy 'weighting' " "-classifier:__choice__ 'proj_logit'", F1_METRIC: "--initial-challengers \" " "-balancing:strategy 'weighting' " "-classifier:__choice__ 'proj_logit'", PAC_METRIC: "--initial-challengers \" " "-balancing:strategy 'none' " "-classifier:__choice__ 'random_forest'" } for metric in initial_challengers: configuration_space = get_configuration_space( { 'metric': metric, 'task': MULTICLASS_CLASSIFICATION, 'is_sparse': False }, include_preprocessors=['no_preprocessing']) X_train, Y_train, X_test, Y_test = get_dataset(dataset_name) categorical = [False] * X_train.shape[1] meta_features_label = calc_meta_features(X_train, Y_train, categorical, dataset_name) meta_features_encoded_label = calc_meta_features_encoded(X_train, Y_train, categorical, dataset_name) initial_configuration_strings_for_smac = \ create_metalearning_string_for_smac_call( meta_features_label, meta_features_encoded_label, configuration_space, dataset_name, metric, MULTICLASS_CLASSIFICATION, False, 1, None) print(metric) print(initial_configuration_strings_for_smac[0]) self.assertTrue(initial_configuration_strings_for_smac[ 0].startswith(initial_challengers[metric]))