首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我得到“错误:‘`mutate()’列`regression1‘的问题”?

为什么我得到“错误:‘`mutate()’列`regression1‘的问题”?
EN

Stack Overflow用户
提问于 2021-11-13 01:52:12
回答 1查看 279关注 0票数 1

我正在执行一项任务,在该任务中,我必须使用测试数据评估基于RMSE (均方误差)的预测模型。我已经建立了一个线性回归模型来预测葡萄酒质量(数字),使用所有可用的预测变量,基于列车数据。下面是我的当前代码。完全错误是“”错误:列i* regression1 = predict(regression1, newdata = my_type_test)**. x不适用于类"c('double',‘数值’)“**对象的”预测“方法的问题

代码语言:javascript
复制
install.packages("rsample")
library(rsample)

my_type_split <- initial_split(my_type, prop = 0.7)
my_type_train <- training(my_type_split)
my_type_test <- testing(my_type_split)  

my_type_train

regression1 <- lm(formula = quality ~ fixed.acidity + volatile.acidity + citric.acid + chlorides + free.sulfur.dioxide + total.sulfur.dioxide +
                  density + pH + sulphates + alcohol, data = my_type_train)

summary(regression1)
regression1

install.packages("caret")
library(caret)
install.packages("yardstick")
library(yardstick)
library(tidyverse)

my_type_test <- my_type_test %>% 
  mutate(regression1 = predict(regression1, newdata = my_type_test)) %>%
  
rmse(my_type_test, price, regression1)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-13 03:36:30

您所采取的许多步骤可能是不必要的。

--实现相同目标的最小示例:

代码语言:javascript
复制
# Set seed for reproducibility
set.seed(42)
# Take the internal 'mtcars' dataset
data <- mtcars
# Get a random 80/20 split for the number of rows in data
split <- sample(
   ​size = nrow(data), 
   ​x = c(TRUE, FALSE), 
   ​replace = TRUE,
   ​prob = c(0.2, 0.8)
)
# Split the data into train and test sets
train <- data[split, ]
test <- data[!split, ]

# Train a linear model
fit <- lm(mpg ~ disp + hp + wt + qsec + am + gear, data = train)

# Predict mpg in test set
prediction <- predict(fit, test)

结果:

代码语言:javascript
复制
> caret::RMSE(prediction, test$mpg)
[1] 4.116142
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69950840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档