【问题标题】:tpot: Use multi-output regressors onlytpot:仅使用多输出回归器
【发布时间】:2019-09-28 20:02:22
【问题描述】:

我想使用 tpot。我拥有的数据仅包括多输出连续变量(即输出形状为:(n_samples,n_output_variables),其中所有项目都是浮点数)。

这可以使用 sklearn 的 MultiOutputRegressor 类来实现。但是因为我有超过 100 个不同的输出变量,我想避免为每个单独的输出应用 tpot。

现在,如何使用 tpot 只搜索多输出模型?有没有办法告诉 tpot 只应该使用多输出模型(例如决策树)?

【问题讨论】:

    标签: python machine-learning scikit-learn automl tpot


    【解决方案1】:

    关于具有多个输出的回归器:

    您有一个多输出回归问题。我建议你检查这个答案:Multi-output regression

    有一些回归器本身支持目标上的多个输出,例如 KNeighborsRegressor、DecisionTreeRegressor、GradientBoostingRegressor、ExtraTreesRegressor 和 RandomForestRegressor。如果您使用前面提到的 MultiOutputRegressor,则其他(如 SGDRegressor、ElasticNetCV 等)可以与多个输出一起使用。


    关于 TPOT 和多输出回归:

    目前 TPOT 可以与所有原生支持多输出的回归器一起使用,但您必须为此调整文件,因为它尚未实现,请查看 https://github.com/EpistasisLab/tpot/issues/971。如果您想将其他回归量(单输出)与 MultiOutputRegressor 进行比较,TPOT 目前只允许您一次选择一个。也就是说,您可以只指定几种算法中的一种,然后搜索最佳管道。然后你可以用另一种算法重新运行。

    关于指定要搜索的算法的问题:首先查看官方文档并阅读自定义 TPOT 的运算符和参数部分。如果您只想使用某些特定算法,实现此目的的一种方法是复制用于回归的标准 TPOT 配置 (https://github.com/EpistasisLab/tpot/blob/master/tpot/config/regressor.py),将其包含在您的代码中并取消注释(或添加)您不使用的所有算法(或做)想要包含在您的搜索中。

    【讨论】:

      猜你喜欢
      • 2018-08-29
      • 2021-10-31
      • 2021-05-25
      • 2018-01-16
      • 2023-03-26
      • 1970-01-01
      • 2017-01-25
      • 2019-05-26
      • 1970-01-01
      相关资源
      最近更新 更多