Авто-склеарн средняя абсолютная погрешность без результатов

Я пытаюсь использовать библиотеку 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, но не со средней абсолютной ошибкой, и никакой другой, как я их пробовал.

Может кто-нибудь объяснить, что я делаю не так или есть что-то, чего я здесь не понимаю?

Благодарю.

0 ответов

Другие вопросы по тегам