我正在参加一场 kaggle 比赛(房价:高级回归技术)。我一直在尝试对数据运行岭模型。我先把测试数据和训练数据结合起来,做了一些数据清洗,然后我把它们分开,用训练集想出了一个函数,把它应用到测试数据上。
traintest=rbind(train,test)
#Converting all chars into factors
library(dplyr)
traintest = traintest %>% mutate_if(is.character, as.factor)
在去掉了一些变量之后,我分离了两个数据集。
train <- traintest[is.na(traintest$SalePrice) == "FALSE",]
test <- traintest[is.na(traintest$SalePrice) == "TRUE",]
当我对训练数据使用 model.matrix 函数时,它会返回矩阵。但是当我在测试数据上尝试它时,它给了我一个包含所有变量的空行。
x <- model.matrix(SalePrice~., train)[,-1]
x.test <- model.matrix(SalePrice~.,test)[,-1]
测试数据有一列我试图预测的 NA。