我试图使用各种预测算法,从卡雷特包在R中的回归问题,即我的目标变量是连续的。卡雷特认为分类是问题的适当类别,当我通过任何一个回归模型时,我会得到一条错误消息,上面写着“错误的分类模型类型”。关于可重现性,让我们来看看联合循环电厂数据集。数据在CCPP.zip中。让我们把功率作为其他变量的函数来预测。功率是一个连续变量。
library(readxl)
library(caret)
power_plant = read_excel("Folds5x2_pp.xlsx")
apply(power_plant,2, class) # shows all columns are numeric
control <- trainControl(method="repeatedcv", number=10, repeats=5)
my_glm <- train(power_plant[,1:4], power_plant[,5],
method = "lm",
preProc = c("center", "scale"),
trControl = control)下面的图片是我的截图:

发布于 2017-03-25 17:03:22
由于某些原因,caret被tibbles搞糊涂了,而tibbles是read_excel返回的数据框架的tidyverse变体。通过将其转换为一个简单的数据框架,然后再将其转换为插入符号,一切都可以工作:
library(readxl)
library(caret)
power_plant = read_excel("Folds5x2_pp.xlsx")
apply(power_plant,2, class) # shows all columns are numeric
power_plant <- data.frame(power_plant)
control <- trainControl(method="repeatedcv", number=10, repeats=5)
my_glm <- train(power_plant[,1:4], power_plant[,5],
method = "lm",
preProc = c("center", "scale"),
trControl = control)
my_glm屈服:
Linear Regression
9568 samples
4 predictor
Pre-processing: centered (4), scaled (4)
Resampling: Cross-Validated (10 fold, repeated 5 times)
Summary of sample sizes: 8612, 8612, 8611, 8612, 8612, 8610, ...
Resampling results:
RMSE Rsquared
4.556703 0.9287933
Tuning parameter 'intercept' was held constant at a value of TRUE发布于 2021-04-18 15:47:03
当我尝试使用公式=y~ x时,我得到了一个类似的错误,只要省略命名的变量并使用y~ x,效果就很好。
https://stackoverflow.com/questions/43018879
复制相似问题