Я использую стратегию 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.fitted_pipeline_
?Кроме того, есть ли способ получить доступ к полному набору обучаемых моделей, соответствующих набору разделов для выигрышного/оптимизированного конвейера?
TPOT будет соответствовать окончательному "лучшему" конвейеру на полном учебном наборе: код
Поэтому рекомендуется, чтобы ваши данные тестирования никогда не передавались в функцию соответствия TPOT, если вы планируете напрямую взаимодействовать с "лучшим" конвейером через объект TPOT.
Если это проблема для вас, вы можете tpot.fitted_pipeline_
конвейер напрямую через атрибут tpot.fitted_pipeline_
, который является просто объектом Pipen Pipeline. Кроме того, вы можете использовать функцию export
для экспорта "лучшего" конвейера в соответствующий код Python и взаимодействовать с конвейером вне TPOT.
Кроме того, есть ли способ получить доступ к полному набору обучаемых моделей, соответствующих набору разделов для выигрышного/оптимизированного конвейера?
№ TPOT использует sklearn cross_val_score
при оценке трубопроводов, поэтому он выдает набор подготовленных трубопроводов из процесса CV. Тем не менее, вы можете получить доступ к результатам подсчета каждого конвейера, который TPOT оценивается через атрибут tpot.evaluated_individuals_
.