You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CatBoost进行多目标回归时出现维度错误问题求助

CatBoost多目标回归报错解决:Attempt to use multi-dimensional target as one-dimensional

问题场景

使用CatBoost进行多目标回归时,执行model.fit()触发如下错误:

Attempt to use multi-dimensional target as one-dimensional

原实现代码:

target_col = ['SISU_LP', 'SISU_AM', 'SISU_EP', 'SISU_HR', 'SISU_HS', 'SISU_HO']
text_cols=['surrender','feelings']
X = data.drop(columns=target_col)
y = data[target_col]
params = {'learning_rate': 0.1, 'depth': 6, 
      'loss_function': 'MultiRMSE',  'eval_metric': 'MultiRMSE'}
model = CatBoostRegressor(**params)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=1)
pool_train = Pool(data=X_train, label=y_train,text_features = text_cols)
pool_test = Pool(data=X_test, label=y_test, text_features = text_cols)
model.fit(pool_train, eval_set=pool_test, use_best_model=True)

报错原因

CatBoost的Pool对象在处理多目标变量时,若传入的label是pandas DataFrame格式,部分版本会无法正确识别其多维结构,误判为一维目标。

解决方法

1. 将目标变量转为numpy数组

创建Pool时,把y_train和y_test转换为numpy数组格式,替换原label参数:

pool_train = Pool(data=X_train, label=y_train.to_numpy(), text_features=text_cols)
pool_test = Pool(data=X_test, label=y_test.to_numpy(), text_features=text_cols)

2. 升级CatBoost版本

若上述方法无效,可能是旧版本对多目标DataFrame支持不足,执行升级命令:

pip install --upgrade catboost

修改后完整代码

target_col = ['SISU_LP', 'SISU_AM', 'SISU_EP', 'SISU_HR', 'SISU_HS', 'SISU_HO']
text_cols=['surrender','feelings']
X = data.drop(columns=target_col)
y = data[target_col]
params = {'learning_rate': 0.1, 'depth': 6, 
      'loss_function': 'MultiRMSE',  'eval_metric': 'MultiRMSE'}
model = CatBoostRegressor(**params)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=1)
# 转换目标为numpy数组
pool_train = Pool(data=X_train, label=y_train.to_numpy(), text_features = text_cols)
pool_test = Pool(data=X_test, label=y_test.to_numpy(), text_features = text_cols)
model.fit(pool_train, eval_set=pool_test, use_best_model=True)

内容的提问来源于stack exchange,提问作者user3719749

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 20:50:31