Авто-склеарн средняя абсолютная погрешность без результатов
Я пытаюсь использовать библиотеку Python auto-sklearn, основанную на библиотеке scikit-learn, для решения проблемы регрессии.
Когда я следую инструкциям по официальной документации, все работает нормально, но когда я хочу изменить показатель с r2 на абсолютную ошибку, у меня всегда получается такой результат:
[(1.000000, MyDummyRegressor(configuration=1, init_params=None, random_state=None))]
Вот мой код
def main():
X, y = sklearn.datasets.make_regression()
X_train, X_test, y_train, y_test = \
sklearn.model_selection.train_test_split(X, y, random_state=1)
automl = autosklearn.regression.AutoSklearnRegressor(
time_left_for_this_task=120,
per_run_time_limit=30,
tmp_folder='/tmp/autosklearn_holdout_example_tmp',
output_folder='/tmp/autosklearn_holdout_example_out',
disable_evaluator_output=False,
ml_memory_limit=1024,
seed=123,
)
automl.fit(
X_train,
y_train,
dataset_name='random_regression',
metric=autosklearn.metrics.mean_absolute_error)
print(automl.show_models())
test_predictions = automl.predict(X_test, batch_size=100)
print("MAE test score:", sklearn.metrics.mean_absolute_error(y_test, test_predictions))
print(automl.sprint_statistics())
А вот и вывод
[(1.000000, MyDummyRegressor(configuration=1, init_params=None, random_state=None)),]
MAE test score: 160.38897901387986
auto-sklearn results:
Dataset name: random_regression
Metric: mean_absolute_error
Best validation score: 0.000000
Number of target algorithm runs: 88
Number of successful target algorithm runs: 50
Number of crashed target algorithm runs: 37
Number of target algorithms that exceeded the time limit: 0
Number of target algorithms that exceeded the memory limit: 1
В общем, у меня есть множество результатов с метрикой производительности r2, но не со средней абсолютной ошибкой, и никакой другой, как я их пробовал.
Может кто-нибудь объяснить, что я делаю не так или есть что-то, чего я здесь не понимаю?
Благодарю.