【问题标题】:Caret/CaretEnsemble: Wrong model Type for RegressionCaret/CaretEnsemble:错误的回归模型类型
【发布时间】:2018-11-29 23:58:07
【问题描述】:

我正在尝试构建一组机器学习算法,第一个使用提升算法,第二个使用堆叠算法。当我尝试创建模型时,出现以下错误:

Error: wrong model type for regression

这是我的代码:

library(mlbench)
library(caret)
library(caretEnsemble)

#Remove Null Values
Data <- Data[complete.cases(Data), ]    

control <- trainControl(method="repeatedcv", number=10, repeats=3, 
savePredictions=TRUE, classProbs=TRUE)
algorithmList <- c('lda', 'rpart', 'glm', 'knn', 'svmRadial')
set.seed(seed)
models <- caretList(Setup~Age+Balance+Dcny2Rcvd+PCA, 
data=data, trControl=control, methodList=algorithmList)
results <- resamples(models)
summary(results)
dotplot(results)

这是我的数据示例:

Number    Setup      R         D2R     A        B       PCA   
123        1        381        6618    25      2500      2
124        0        200        100     30      3500      1
125        0        100        62      18      4000      1
126        1        202        75      21      1000      5
127        0        95         60      22      387       4

问题:为什么会出现这个错误?

以下内容我也遇到了同样的错误:

fit.c50 <- train(Setup~A+B+D2R+PCA+R, data=Data, trControl=control)

【问题讨论】:

    标签: r regression data-science r-caret


    【解决方案1】:

    lda 表示线性判别分析,根据插入符号文档中的available models pageDiscriminant analysis 用于分类,而不是回归。

    【讨论】:

    • 谢谢,我会尝试在没有lda的情况下运行它
    • 另外classProbs=TRUE 可能不是回归的好主意。
    【解决方案2】:

    如果你想用caret 进行分类,你的结果Setup 应该是一个因子变量。由于它是一个数字,它认为您正在尝试使用分类模型进行回归。

    【讨论】:

      猜你喜欢
      • 2017-08-18
      • 1970-01-01
      • 2020-09-21
      • 2016-12-29
      • 2021-03-12
      • 1970-01-01
      • 2021-03-30
      • 2020-10-16
      • 2012-04-28
      相关资源
      最近更新 更多