首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当与TPOT相匹配时,fitted_pipeline_是否对整个数据集进行了再培训?

当与TPOT相匹配时,fitted_pipeline_是否对整个数据集进行了再培训?
EN

Stack Overflow用户
提问于 2018-08-24 16:16:49
回答 1查看 1K关注 0票数 2

我使用的是LeaveOutGroupOut的简历策略和TPOTRegressor。

代码语言:javascript
复制
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_.predict(X)中。

我的问题是:安装好的管道将接受什么训练?例如:

  • 在将整个数据集存储在tpot.fitted_pipeline_中之前,tpot是否使用整个数据集重新修改了优化的管道?
  • 或者,这是一条经过训练的管道,它来自于

另外,是否有一种方法可以访问与获胜/优化管道的分割集相对应的完整的经过训练的模型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-24 16:40:40

TPOT将在完整的训练集:code 上符合最终的“最佳”管线。

因此,如果您计划通过TPOT对象直接与“最佳”管道交互,则建议永远不要将测试数据传递给TPOT函数。

如果这对您来说是个问题,您可以通过tpot.fitted_pipeline_属性直接对管道进行重新培训,它只是一个sklearn管道对象。或者,您可以使用export函数将“最佳”管道导出到相应的Python代码,并与TPOT之外的管道进行交互。

另外,是否有一种方法可以访问与获胜/优化管道的分割集相对应的完整的经过训练的模型?

不是的。TPOT在评价管道时使用了sklearn的cross_val_score,因此它从CV过程中抛出了一组经过训练的管道。但是,您可以访问TPOT通过tpot.evaluated_individuals_属性计算的每个管道的评分结果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52008298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档