Попытка использовать функцию model.matrix для набора тестовых данных - PullRequest
0 голосов
/ 17 января 2020

Я работаю над соревнованием по борьбе (цены на жилье: передовые методы регрессии). Я пытался запустить модель гребня на данных. Сначала я объединил данные испытаний и тренировок, произвел некоторую очистку данных, а затем разделил их и использовал обучающий набор, чтобы создать функцию для их применения к данным испытаний.

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, который я пытаюсь предсказать.

1 Ответ

0 голосов
/ 18 января 2020

Проблема с test$SalePrice - это просто NA, вам нужно использовать другой столбец для model.matrix.

Или вы можете сделать это без SalePrice как

model.matrix(~ variable1 + variable2, test)

или

model.matrix(~ ., test[-1])

...