考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

你正在为一个化工项目建立模型,需要同时预测3个连续的目标变量(压力、温度、流速)。团队使用 Scikit-Learn 的接口时,你发现 RandomForestRegressor 可以直接接受形状为 (N,3) 的 y 数组进行训练,但在尝试直接将同样的 y 传入 lightgbm.LGBMRegressor 时遇到了报错或不符合预期的行为。为了用 LightGBM 正确解决这个多输出回归问题,以下关于其底层机制和标准解决方案的描述,哪项是正确的?
A. LightGBM 内核原生支持“向量叶子(Vector Leaf)”,只需将参数 objective 设置为 regression_multi 即可直接训练
B. LightGBM 目前不支持原生的多目标回归,必须使用 sklearn.multioutput.MultiOutputRegressor 包装器或手动训练 3 个独立的模型
C. 可以在 LGBMRegressor 中设置 num_class=3,模型会自动识别这是多输出回归任务而非多分类任务
D. LightGBM 在处理多目标问题时,必须将 3 个目标变量拼接成一个长向量,并增加一个“目标ID”作为特征输入,才能在一个模型中训练
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

• 差异点:Random Forest(以及某些决策树实现)原生支持多输出(Multi-output),即单个叶子节点存储一个向量(例如存储3个目标的均值)。 • LightGBM 现状:标准的 LightGBM(截至2024/2025年主流版本)在内核层面主要针对单一目标函数(Single Objective)进行优化。对于多输出回归,它不像随机森林那样在一棵树里同时拟合多个目标。 • 解决方案:通常做法是使用 Sklearn 的 MultiOutputRegressor 包装器,这本质上是训练了 3 个独立的 LightGBM 模型。虽然选项 D(Stacking/Encoding target id)是一种高级技巧(Global Model),但不是标准用法;选项 A 的 regression_multi 不是标准参数。