以下我有两个文件,其中一个带有测试数据的训练数据,没有我想要预测的类,我正在尝试执行以下代码:
full <- bind_rows(train, test)
full$Survived <- factor(full$Survived)
train <- full[1:n,]
test <- full[n+1:total,]
model.svm <- svm(Survived~.,train)
predictions <- predict(model.svm,test)
但是当我试图预测时,请给我以下错误:
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :contrasts can be applied only to factors with 2 or more levels
据我所知,因为课程栏目都是NA,但不知道该如何处理,我已经尝试用虚拟值填充它以获得预测,我得到了这个:
Error in newdata[, object$scaled, drop = FALSE] : (subscript) logical subscript too long
有人可以告诉我我做错了什么以及如何纠正? 编辑: 注意如果它有帮助,我正在进行二进制分类。 谢谢你的进步。
编辑: 数据集是泰坦尼克号幸存的人,我用它来学习如何使用某些模型(我正在乞求学习这类东西)。
STR(满):
'data.frame': 1309 obs. of 12 variables:
$ PassengerId: int 1 2 3 4 5 6 7 8 9 10 ...
$ Survived : Factor w/ 2 levels "0","1": 1 2 2 2 1 1 1 1 2 2 ...
$ Pclass : int 3 1 3 1 3 3 1 3 3 2 ...
$ Name : chr "Braund, Mr. Owen Harris" "Cumings, Mrs. John Bradley (Florence Briggs Thayer)" "Heikkinen, Miss. Laina" "Futrelle, Mrs. Jacques Heath (Lily May Peel)" ...
$ Sex : chr "male" "female" "female" "female" ...
$ Age : num 22 38 26 35 35 NA 54 2 27 14 ...
$ SibSp : int 1 1 0 1 0 0 0 3 0 1 ...
$ Parch : int 0 0 0 0 0 0 0 1 2 0 ...
$ Ticket : chr "A/5 21171" "PC 17599" "STON/O2. 3101282" "113803" ...
$ Fare : num 7.25 71.28 7.92 53.1 8.05 ...
$ Cabin : chr "" "C85" "" "C123" ...
$ Embarked : chr "S" "C" "S" "S" ...
输入很长时间才能把它放在这里。
我认为我有一些年龄段的NA是一个问题吗?