При фитинге с TPOT CV переоснащается ли fit_pipeline_ на весь набор данных?

1

Я использую стратегию CVO OctOutGroupOut с помощью TPOTRegressor

from tpot import TPOTRegressor
from sklearn.model_selection import LeaveOneGroupOut

tpot = TPOTRegressor(
    config_dict=regressor_config_dict,
    generations=100,
    population_size=100,
    cv=LeaveOneGroupOut(),
    verbosity=2,
    n_jobs=1)

tpot.fit(XX, yy, groups=groups)

После оптимизации наилучший подготовленный конвейер с tpot.fitted_pipeline_ сохраняется в tpot.fitted_pipeline_ и tpot.fitted_pipeline_.predict(X).

мой вопрос: на что будет подготовлен подогнанный трубопровод? например

  • выполняет ли tpot оптимизированный конвейер, используя весь набор данных, прежде чем хранить его в tpot.fitted_pipeline_?
  • или это будет представлять собой подготовленный трубопровод из лучшего скоринга в период

Кроме того, есть ли способ получить доступ к полному набору обучаемых моделей, соответствующих набору разделов для выигрышного/оптимизированного конвейера?

Теги:
machine-learning
scikit-learn
tpot

1 ответ

1
Лучший ответ

TPOT будет соответствовать окончательному "лучшему" конвейеру на полном учебном наборе: код

Поэтому рекомендуется, чтобы ваши данные тестирования никогда не передавались в функцию соответствия TPOT, если вы планируете напрямую взаимодействовать с "лучшим" конвейером через объект TPOT.

Если это проблема для вас, вы можете tpot.fitted_pipeline_ конвейер напрямую через атрибут tpot.fitted_pipeline_, который является просто объектом Pipen Pipeline. Кроме того, вы можете использовать функцию export для экспорта "лучшего" конвейера в соответствующий код Python и взаимодействовать с конвейером вне TPOT.

Кроме того, есть ли способ получить доступ к полному набору обучаемых моделей, соответствующих набору разделов для выигрышного/оптимизированного конвейера?

№ TPOT использует sklearn cross_val_score при оценке трубопроводов, поэтому он выдает набор подготовленных трубопроводов из процесса CV. Тем не менее, вы можете получить доступ к результатам подсчета каждого конвейера, который TPOT оценивается через атрибут tpot.evaluated_individuals_.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню