R使用caretEnsemble包中的train函数训练模型时遇到的错误

在使用caretEnsemble包的trainControl和train函数处理分类数据时,出现错误提示尝试进行回归而非分类。原因是标签列被识别为数值类型。解决方案是将标签数据从0,1改为yes,no这样的字符类别,以便正确执行分类任务。

使用caretEnsemble包中的trainControl和train函数训练模型,使用的数据集为标签为label的分类数据,代码如下:

control <- trainControl(method="repeatedcv", number=5, repeats=1, savePredictions=TRUE, classProbs=TRUE)
rf<- train(label ~ ., data = train_data, 
                 method = "rf", 
                 trControl = control)
rf

运行后发生错误

In addition: Warning messages:
1: In train.default(x, y, weights = w, ...) :
You are trying to do regression and your outcome only has two possible values Are you trying to do classification? If so, use a 2 level factor as your outcome column.
2: In train.default(x, y, weights = w, ...) :
cannnot compute class probabilities for regression

解决方法:将数据集标签列的数据由0,1改为yes,no,数值类型的数据被R默认是做回归,改为两种类别的字符即可继续运行。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值