开发者社区 > 大数据与机器学习 > 人工智能平台PAI > 正文

机器学习PAI命令中-Dselected_cols是必须设置的吗?

问题1:机器学习PAI命令中-Dselected_cols是必须设置的吗?
我发现pai命令中如果没有设置-Dselected_cols,而config文件的data_config中即使设置了selected_cols也是无效的,会默认使用表中的全部列。问题2:恩,然后pai-jobs/run.py中的set_selected_cols()会把Dselected_cols 默认值(如果没有设置就是所有列)覆盖掉config里的selected_cols参数,导致config里设置无效,这是符合预期的吗?如果pai命令没有设置-Dselected_cols,图中红框打印就是默认的全部列 a9038464d377a790bae944e81e2cd483.png
这个条件永久成立,然后会覆盖config的设置值。cadfe483e731d4290445bb913aec74f7.png

展开
收起
三分钟热度的鱼 2023-07-11 18:55:01 71 0
2 条回答
写回答
取消 提交回答
  • 在机器学习PAI中,-Dselected_cols参数不是必须设置的,它是可选的。

    -Dselected_cols用于指定从输入数据中选择哪些列作为模型的输入特征。如果未显式设置-Dselected_cols参数,系统将默认使用所有输入数据的列作为特征。

    然而,具体是否需要设置-Dselected_cols参数取决于你的数据和模型的需求。在某些情况下,你可能只对特定的列感兴趣,并希望仅使用这些列作为特征进行训练或预测。此时,你可以通过设置-Dselected_cols参数来筛选出所需的列。

    如果你希望使用所有输入数据的列作为特征,不需要进行特定的列选择操作,则可以不设置-Dselected_cols参数。

    总之,-Dselected_cols参数在机器学习PAI命令中是可选的,根据你的需求来决定是否设置该参数。

    2023-07-31 17:50:15
    赞同 展开评论 打赏
  • 针对问题1的回答:pai 启动的流程是先加载表,运行 EasyRec 后才读取 config 的。要是在 config 里面指定,加载表在这之前,Dselected_cols 默认应该是会先把表的所有列加载的, 相关的代码见:https://github.com/alibaba/EasyRec/blob/master/pai_jobs/easy_rec_flow/easy_rec.lua#L522 针对问题2的回答:应该不是符合预期的。和同事讨论了一下,这个在 pai 上确实是这样,会覆盖掉。其实在 pai 上不设 Dselected_col 时,默认全部的列都读进来了,无论在 config 里面设置什么,都不影响之前全部列都读进来这个行为。即使不覆盖掉,只取部分,实际上处理的也是全部列。所以这个地方就没有改。此回答整理自钉群“【EasyRec】推荐算法交流群”

    2023-07-11 19:15:28
    赞同 展开评论 打赏

人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。

相关产品

  • 人工智能平台 PAI
  • 热门讨论

    热门文章

    相关电子书

    更多
    大规模机器学习在蚂蚁+阿里的应用 立即下载
    基于Spark的面向十亿级别特征的 大规模机器学习 立即下载
    基于Spark的大规模机器学习在微博的应用 立即下载