Skip to content

Commit ac6608d

Browse files
committed
Update examples
1 parent 4c7dee1 commit ac6608d

10 files changed

+220
-61
lines changed

example/example_crossvalidation.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@ def main():
1212
sklearn.model_selection.train_test_split(X, y, random_state=1)
1313

1414
automl = autosklearn.classification.AutoSklearnClassifier(
15-
time_left_for_this_task=120, per_run_time_limit=30,
15+
time_left_for_this_task=120,
16+
per_run_time_limit=30,
1617
tmp_folder='/tmp/autosklearn_cv_example_tmp',
1718
output_folder='/tmp/autosklearn_cv_example_out',
1819
delete_tmp_folder_after_terminate=False,
1920
resampling_strategy='cv',
20-
resampling_strategy_arguments={'folds': 5})
21+
resampling_strategy_arguments={'folds': 5},
22+
)
2123

2224
# fit() changes the data in place, but refit needs the original data. We
2325
# therefore copy the data. In practice, one should reload the data

example/example_eips.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ def get_eips_object_callback(
4949
tae_runner=ta,
5050
runhistory2epm=rh2EPM,
5151
model=model,
52-
acquisition_function=acquisition_function
52+
acquisition_function=acquisition_function,
53+
**kwargs
5354
)
5455

5556

@@ -59,11 +60,11 @@ def main():
5960
sklearn.model_selection.train_test_split(X, y, random_state=1)
6061

6162
automl = autosklearn.classification.AutoSklearnClassifier(
62-
time_left_for_this_task=120, per_run_time_limit=30,
63+
time_left_for_this_task=120,
64+
per_run_time_limit=30,
6365
tmp_folder='/tmp/autosklearn_eips_example_tmp',
6466
output_folder='/tmp/autosklearn_eips_example_out',
6567
get_smac_object_callback=get_eips_object_callback,
66-
delete_tmp_folder_after_terminate=False,
6768
initial_configurations_via_metalearning=0,
6869
)
6970
automl.fit(X_train, y_train, dataset_name='digits')

example/example_feature_types.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,10 @@ def main():
3939
feat_type = ['Categorical' if ci else 'Numerical'
4040
for ci in categorical_indicator]
4141

42-
cls = autosklearn.classification.\
43-
AutoSklearnClassifier(time_left_for_this_task=120,
44-
per_run_time_limit=30)
42+
cls = autosklearn.classification.AutoSklearnClassifier(
43+
time_left_for_this_task=120,
44+
per_run_time_limit=30,
45+
)
4546
cls.fit(X_train, y_train, feat_type=feat_type)
4647

4748
predictions = cls.predict(X_test)

example/example_holdout.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ def main():
1111
sklearn.model_selection.train_test_split(X, y, random_state=1)
1212

1313
automl = autosklearn.classification.AutoSklearnClassifier(
14-
time_left_for_this_task=120, per_run_time_limit=30,
14+
time_left_for_this_task=120,
15+
per_run_time_limit=30,
1516
tmp_folder='/tmp/autosklearn_holdout_example_tmp',
1617
output_folder='/tmp/autosklearn_holdout_example_out',
17-
disable_evaluator_output=False)
18+
disable_evaluator_output=False,
19+
)
1820
automl.fit(X_train, y_train, dataset_name='digits')
1921

2022
# Print the final ensemble constructed by auto-sklearn.

example/example_metrics.py

Lines changed: 36 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,11 @@ def main():
3737
# First example: Use predefined accuracy metric
3838
print("#"*80)
3939
print("Use predefined accuracy metric")
40-
cls = autosklearn.classification.\
41-
AutoSklearnClassifier(time_left_for_this_task=60,
42-
per_run_time_limit=30, seed=1)
40+
cls = autosklearn.classification.AutoSklearnClassifier(
41+
time_left_for_this_task=60,
42+
per_run_time_limit=30,
43+
seed=1,
44+
)
4345
cls.fit(X_train, y_train, metric=autosklearn.metrics.accuracy)
4446

4547
predictions = cls.predict(X_test)
@@ -50,14 +52,18 @@ def main():
5052
# Second example: Use own accuracy metric
5153
print("#"*80)
5254
print("Use self defined accuracy metric")
53-
accuracy_scorer = autosklearn.metrics.make_scorer(name="accu",
54-
score_func=accuracy,
55-
greater_is_better=True,
56-
needs_proba=False,
57-
needs_threshold=False)
58-
cls = autosklearn.classification.\
59-
AutoSklearnClassifier(time_left_for_this_task=60,
60-
per_run_time_limit=30, seed=1)
55+
accuracy_scorer = autosklearn.metrics.make_scorer(
56+
name="accu",
57+
score_func=accuracy,
58+
greater_is_better=True,
59+
needs_proba=False,
60+
needs_threshold=False,
61+
)
62+
cls = autosklearn.classification.AutoSklearnClassifier(
63+
time_left_for_this_task=60,
64+
per_run_time_limit=30,
65+
seed=1,
66+
)
6167
cls.fit(X_train, y_train, metric=accuracy_scorer)
6268

6369
predictions = cls.predict(X_test)
@@ -68,21 +74,28 @@ def main():
6874
# Third example: Use own accuracy metric with additional argument
6975
print("#"*80)
7076
print("Use self defined accuracy with additional argument")
71-
accuracy_scorer = autosklearn.metrics.make_scorer(name="accu_add",
72-
score_func=accuracy_wk,
73-
greater_is_better=True,
74-
needs_proba=False,
75-
needs_threshold=False,
76-
dummy=None)
77-
cls = autosklearn.classification.\
78-
AutoSklearnClassifier(time_left_for_this_task=60,
79-
per_run_time_limit=30, seed=1)
77+
accuracy_scorer = autosklearn.metrics.make_scorer(
78+
name="accu_add",
79+
score_func=accuracy_wk,
80+
greater_is_better=True,
81+
needs_proba=False,
82+
needs_threshold=False,
83+
dummy=None,
84+
)
85+
cls = autosklearn.classification.AutoSklearnClassifier(
86+
time_left_for_this_task=60,
87+
per_run_time_limit=30,
88+
seed=1,
89+
)
8090
cls.fit(X_train, y_train, metric=accuracy_scorer)
8191

8292
predictions = cls.predict(X_test)
83-
print("Accuracy score {:g} using {:s}".
84-
format(sklearn.metrics.accuracy_score(y_test, predictions),
85-
cls._automl._metric.name))
93+
print(
94+
"Accuracy score {:g} using {:s}".format(
95+
sklearn.metrics.accuracy_score(y_test, predictions),
96+
cls._automl._metric.name
97+
)
98+
)
8699

87100

88101
if __name__ == "__main__":

example/example_parallel.py

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ def spawn_classifier(seed, dataset_name):
5555
ensemble_size=0, # ensembles will be built when all optimization runs are finished
5656
initial_configurations_via_metalearning=initial_configurations_via_metalearning,
5757
seed=seed,
58-
smac_scenario_args=smac_scenario_args)
58+
smac_scenario_args=smac_scenario_args,
59+
)
5960
automl.fit(X_train, y_train, dataset_name=dataset_name)
6061

6162
if __name__ == '__main__':
@@ -73,26 +74,30 @@ def spawn_classifier(seed, dataset_name):
7374
p.join()
7475

7576
print('Starting to build an ensemble!')
76-
automl = AutoSklearnClassifier(time_left_for_this_task=15,
77-
per_run_time_limit=15,
78-
ml_memory_limit=1024,
79-
shared_mode=True,
80-
ensemble_size=50,
81-
ensemble_nbest=200,
82-
tmp_folder=tmp_folder,
83-
output_folder=output_folder,
84-
initial_configurations_via_metalearning=0,
85-
seed=1)
77+
automl = AutoSklearnClassifier(
78+
time_left_for_this_task=15,
79+
per_run_time_limit=15,
80+
ml_memory_limit=1024,
81+
shared_mode=True,
82+
ensemble_size=50,
83+
ensemble_nbest=200,
84+
tmp_folder=tmp_folder,
85+
output_folder=output_folder,
86+
initial_configurations_via_metalearning=0,
87+
seed=1,
88+
)
8689

8790
# Both the ensemble_size and ensemble_nbest parameters can be changed now if
8891
# necessary
89-
automl.fit_ensemble(y_train,
90-
task=MULTICLASS_CLASSIFICATION,
91-
metric=accuracy,
92-
precision='32',
93-
dataset_name='digits',
94-
ensemble_size=20,
95-
ensemble_nbest=50)
92+
automl.fit_ensemble(
93+
y_train,
94+
task=MULTICLASS_CLASSIFICATION,
95+
metric=accuracy,
96+
precision='32',
97+
dataset_name='digits',
98+
ensemble_size=20,
99+
ensemble_nbest=50,
100+
)
96101

97102
predictions = automl.predict(X_test)
98103
print(automl.show_models())

example/example_random_search.py

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ def get_roar_object_callback(
1212
scenario_dict,
1313
seed,
1414
ta,
15-
**kwargs
15+
backend,
16+
metalearning_configurations,
17+
runhistory,
18+
run_id,
1619
):
1720
"""Random online adaptive racing.
1821
@@ -22,14 +25,19 @@ def get_roar_object_callback(
2225
scenario=scenario,
2326
rng=seed,
2427
tae_runner=ta,
28+
runhistory=runhistory,
29+
run_id=run_id,
2530
)
2631

2732

2833
def get_random_search_object_callback(
29-
scenario_dict,
30-
seed,
31-
ta,
32-
**kwargs
34+
scenario_dict,
35+
seed,
36+
ta,
37+
backend,
38+
metalearning_configurations,
39+
runhistory,
40+
run_id,
3341
):
3442
"""Random search.
3543
@@ -41,6 +49,8 @@ def get_random_search_object_callback(
4149
scenario=scenario,
4250
rng=seed,
4351
tae_runner=ta,
52+
runhistory=runhistory,
53+
run_id=run_id,
4454
)
4555

4656

@@ -69,7 +79,8 @@ def main():
6979
print("Accuracy score", sklearn.metrics.accuracy_score(y_test, predictions))
7080

7181
automl = autosklearn.classification.AutoSklearnClassifier(
72-
time_left_for_this_task=120, per_run_time_limit=30,
82+
time_left_for_this_task=120,
83+
per_run_time_limit=30,
7384
tmp_folder='/tmp/autosklearn_random_search_example_tmp',
7485
output_folder='/tmp/autosklearn_random_search_example_out',
7586
get_smac_object_callback=get_random_search_object_callback,

example/example_regression.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@ def main():
1313
sklearn.model_selection.train_test_split(X, y, random_state=1)
1414

1515
automl = autosklearn.regression.AutoSklearnRegressor(
16-
time_left_for_this_task=120, per_run_time_limit=30,
16+
time_left_for_this_task=120,
17+
per_run_time_limit=30,
1718
tmp_folder='/tmp/autosklearn_regression_example_tmp',
18-
output_folder='/tmp/autosklearn_regression_example_out')
19+
output_folder='/tmp/autosklearn_regression_example_out',
20+
)
1921
automl.fit(X_train, y_train, dataset_name='boston',
2022
feat_type=feature_types)
2123

example/example_sequential.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,16 @@ def main():
1111
sklearn.model_selection.train_test_split(X, y, random_state=1)
1212

1313
automl = autosklearn.classification.AutoSklearnClassifier(
14-
time_left_for_this_task=120, per_run_time_limit=30,
14+
time_left_for_this_task=120,
15+
per_run_time_limit=30,
1516
tmp_folder='/tmp/autosklearn_sequential_example_tmp',
1617
output_folder='/tmp/autosklearn_sequential_example_out',
1718
# Do not construct ensembles in parallel to avoid using more than one
1819
# core at a time. The ensemble will be constructed after auto-sklearn
1920
# finished fitting all machine learning models.
20-
ensemble_size=0, delete_tmp_folder_after_terminate=False)
21+
ensemble_size=0,
22+
delete_tmp_folder_after_terminate=False,
23+
)
2124
automl.fit(X_train, y_train, dataset_name='digits')
2225
# This call to fit_ensemble uses all models trained in the previous call
2326
# to fit to build an ensemble which can be used with automl.predict()

0 commit comments

Comments
 (0)