我正在尝试解决著名的Titanic- Machine Learning from Disaster
问题。
我想使用knn
来预测测试数据集中的survived
。我还想使用交叉验证
,然后将其应用到我的测试数据集上。
代码结构如下所示:
install.packages("caret")library(caret)knn_2_train <- knn_1_train # 训练数据集knn_2_train$Survived <- train$SurvivedSurvived <- as.factor(train$Survived) # 训练标签knn_2_test <- knn_1_test # 测试数据集trControl <- trainControl(method = "cv", number = 5)fit <- train(knn_2_train, Survived, method = "knn", tuneGrid = expand.grid(k = 1:50), metric = "Accuracy", trControl = trControl )
现在,我不确定如何在交叉验证
之后将knn
模型应用于测试数据集。
任何建议都将不胜感激。
回答:
你可以这样做:
test.df$predObs <- predict( object = fit, newdata = test.df)
这将你的预测结果存储为predObs
在你的测试集test.df
中,然后你可以用各种性能指标来评估这些预测结果。
祝你的项目好运!
注意:记得将test.df
更改为与你的测试数据相对应。让我知道这对你是否有效!