Catboost 不能做多变量回归?

问题:

代码

python 复制代码
# CatBoost Regression Model
from catboost import CatBoostRegressor

model = CatBoostRegressor(
        iterations = 2000, 
        learning_rate = 0.1,
        l2_leaf_reg = 3,  
        depth = 9,
        rsm = 1,
        border_count=128,
        bagging_temperature= 10,
        verbose=False,
        loss_function='MultiRMSE',
    
                            )
    

model.fit(X_train, y_train)
y_pred = model.predict(X_test)

报错

bash 复制代码
Currently only multi-regression, multilabel and survival objectives work with multidimensional target 

原因

Catboost 默认用的回归的损失是RMSE,所以针对多变量的回归任务/分类任务需要更改损失函数

解决方法

python 复制代码
model = CatBoostRegressor(
        iterations = 2000, 
        learning_rate = 0.1,
        l2_leaf_reg = 3,  
        depth = 9,
        rsm = 1,
        border_count=128,
        bagging_temperature= 10,
        verbose=False,
        loss_function='MultiRMSE', ## 针对多变量任务更改损失函数改成MultiRMSE 或者 MultiLogit
    
                            )
相关推荐
Blossom.1183 小时前
使用Python和Scikit-Learn实现机器学习模型调优
开发语言·人工智能·python·深度学习·目标检测·机器学习·scikit-learn
DFminer4 小时前
【LLM】fast-api 流式生成测试
人工智能·机器人
郄堃Deep Traffic5 小时前
机器学习+城市规划第十四期:利用半参数地理加权回归来实现区域带宽不同的规划任务
人工智能·机器学习·回归·城市规划
int型码农5 小时前
数据结构第八章(一) 插入排序
c语言·数据结构·算法·排序算法·希尔排序
UFIT5 小时前
NoSQL之redis哨兵
java·前端·算法
喜欢吃燃面5 小时前
C++刷题:日期模拟(1)
c++·学习·算法
SHERlocked935 小时前
CPP 从 0 到 1 完成一个支持 future/promise 的 Windows 异步串口通信库
c++·算法·promise
怀旧,5 小时前
【数据结构】6. 时间与空间复杂度
java·数据结构·算法
积极向上的向日葵5 小时前
有效的括号题解
数据结构·算法·
GIS小天5 小时前
AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月7日第101弹
人工智能·算法·机器学习·彩票