问题描述
我有以下数据集:
我正尝试将Multilinear Regression应用于训练和测试数据集,如下所示:
library(caTools)
set.seed(123)
split = sample.split(data$G3,SplitRatio = 0.8)
train_set = subset(data,split == TRUE)
test_set = subset(data,split == FALSE)
write.csv(train_set,"student_train.csv",row.names = FALSE)
write.csv(test_set,"student_test.csv",row.names = FALSE)
#Multilinear regression
multi = lm(formula = G3 ~ .,data = train_set)
#Predicting the test values
y_pred_m = predict(multi,newdata = test_set)
library(Metrics)
mae_m = mae(test_set[[10]],y_pred_m)
rmse_m = rmse(test_set[[10]],y_pred_m)
但是,我的mae和rmse值都在控制台中以 NA 以及在“环境”选项卡中以 NA_real _ 的形式返回。我的data$G3
值不是一个因素,因此我不确定为什么会收到以下错误消息:In Ops.factor(actual,predicted) : ‘-’ not meaningful for factors.
我是R回归的新手,请帮忙。
解决方法
第十列是因子internet
。所以应该是
mae_m = mae(test_set$G3,y_pred_m)
rmse_m = rmse(test_set$G3,y_pred_m)