我在Titanic数据集上使用支持向量机,并且在模型中使用predict
函数时,某些观察结果无法预测。
library(e1071)
library(data.table)
library(ISLR)
titanic.index <- sample(891, 600)
titanic.train <- dat[index]
titanic.test <- dat[-index]
titanic. fit <- svm(Survived ~ Pclass + Sex + SibSp, data = train, kernel = "polynomial")
titanic.preds <- predict(fit, newdata = test)
titanic.preds
length(titanic.preds)
每当我在comp上运行此命令时,我都会得到220到240个预测,但是在测试数据中它们显然是291个观测值。这些预测变量没有任何遗漏的观察结果。更奇怪的是,当我使用auto
包中的ISLR
数据集构建SVM时,不会发生相同的问题。
data("Auto")
auto <- as.data.table(Auto)
auto[, mileage := ifelse(auto[, mpg] > median(auto[, mpg]), 1, 0)]
auto[, mileage := factor(mileage)]
auto.index <- sample(392, 200)
auto.train <- auto[auto.index]
auto.test <- auto[-auto.index]
auto.fit <- svm(mileage ~ ., data = auto.train)
auto.preds <- predict(auto.fit, newdata = auto.test)
auto.preds
length(auto.preds)
我不知道为什么会这样。您能提供的任何见解都将不胜感激!