【问题标题】:How to apply knn model on the test dataset after cross validation in R在 R 中交叉验证后如何在测试数据集上应用 knn 模型
【发布时间】:2021-02-02 17:08:03
【问题描述】:

我正在尝试解决名为Titanic- Machine Learning from Disaster 的众所周知的问题。

我想应用knn 从测试数据集中预测survived。我也想使用cross-validation,然后想将它应用到我的测试数据集。

代码结构如下:

install.packages("caret")
library(caret)

knn_2_train <- knn_1_train # train dataset
knn_2_train$Survived <- train$Survived
Survived <- as.factor(train$Survived) # train labels

knn_2_test <- knn_1_test # test dataset

trControl <- trainControl(method  = "cv", number  = 5)

fit <- train(knn_2_train, Survived,
             method = "knn",
             tuneGrid   = expand.grid(k = 1:50),
             metric     = "Accuracy",
             trControl  = trControl
             )

现在,我不确定如何在cross-validation 之后将knn 模型应用于测试数据集。

任何形式的建议都是可以理解的。

【问题讨论】:

    标签: r machine-learning r-caret


    【解决方案1】:

    您可以执行以下操作;

    test.df$predObs <- predict(
       object  = fit,
       newdata = test.df
    )
    

    这会将您的预测作为predObs 存储在您的测试集test.df 中,然后您可以使用各种性能指标对其进行评估。

    祝你项目顺利!

    注意:请记住更改test.df,使其与您的测试数据相对应。让 med 知道它是否适合您!

    【讨论】:

    猜你喜欢
    • 2016-09-02
    • 2016-11-27
    • 2019-12-10
    • 2020-03-13
    • 2011-01-24
    • 2017-04-10
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多