如何使用 R 中的机器学习和 Caret Package 在新数据集上测试您调整后的 SVM 模型?

用户3576287

伙计们!

我是机器学习方法的新手,对此有疑问。我尝试R 中使用Caret来启动此方法并使用我的数据集。

我有一个训练数据集 (Dataset1),其中包含有关我感兴趣的基因的突变信息,比如Gene A

Dataset1 中,我有关于MutNot-Mut形式的基因 A突变的信息我使用Dataset1SVM 模型来预测输出(我选择 SVM 是因为它比 LVQ 或 GBM 更准确)。因此,在我的第一步中,我将我的数据集分为训练组和测试组,因为我在数据集中有作为测试和训练集的信息。然后我用 10 折进行了交叉验证。我调整了我的模型并使用测试数据集(使用 ROC 曲线)评估了模型的性能。一切顺利,直到这一步。

我有另一个数据集。Dataset2没有关于Gene A 的突变信息我想现在要做的就是用我的调整SVM模型dataSet1的Dataset2,看它是否能够给我有关的突变信息,基因A数据集2中的一种形式MUT /不-MUT我已经阅读了Caret软件包指南,但我无法理解我被困在这里,不知道该怎么办。

我不确定我是否选择了正确的方法。任何建议或帮助将不胜感激。

这是我的代码,直到我从第一个数据集调整了我的模型。

从第一个数据集中选择训练和测试模型:

M_train <- Dataset1[Dataset1$Case=='train',-1] #creating train feature data frame

M_test <- Dataset1[Dataset1$Case=='test',-1] #creating test feature data frame

y=as.factor(M_train$Class) # Target variable for training


ctrl <- trainControl(method="repeatedcv", # 10fold cross validation
                     repeats=5, # do 5 repititions of cv
                     summaryFunction=twoClassSummary, # Use AUC to pick the best model
                     classProbs=TRUE)


#Use the expand.grid to specify the search space 
#Note that the default search grid selects 3 values of each tuning parameter

grid <- expand.grid(interaction.depth = seq(1,4,by=2), #tree depths from 1 to 4
                    n.trees=seq(10,100,by=10), # let iterations go from 10 to 100
                    shrinkage=c(0.01,0.1), # Try 2 values fornlearning rate 
                    n.minobsinnode = 20)


# Set up for parallel processing
#set.seed(1951)
registerDoParallel(4,cores=2)


#Train and Tune the SVM
svm.tune <- train(x=M_train,
                  y= M_train$Class,
                  method = "svmRadial",
                  tuneLength = 9, # 9 values of the cost function
                  preProc = c("center","scale"),
                  metric="ROC",
                  trControl=ctrl) # same as for gbm above

#Finally, assess the performance of the model using the test data set.

#Make predictions on the test data with the SVM Model
svm.pred <- predict(svm.tune,M_test)

confusionMatrix(svm.pred,M_test$Class)

svm.probs <- predict(svm.tune,M_test,type="prob") # Gen probs for ROC

svm.ROC <- roc(predictor=svm.probs$mut,
               response=as.factor(M_test$Class),
               levels=y))

plot(svm.ROC,main="ROC for SVM built with GA selected features")

所以,这里是我卡住了,我该如何使用svm.tune模型预测的突变基因ADataset2

提前致谢,

汇合

现在,您只需使用您构建和调整的模型,并使用predict以下方法对其进行预测

D2.predictions <- predict(svm.tune, newdata = Dataset2)

他们的关键是确保你在这个集合中拥有相同的预测变量,具有相同的列名(并且在我的偏执世界中以相同的顺序)。

D2.predictions 将包含未标记数据的预测类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用新数据更新SVM模型

来自分类Dev

R-Caret:如何使用多个模型构建更有效的模型并预测新结果

来自分类Dev

当classProbs = TRUE时,在R中使用Caret对SVM的不同结果

来自分类Dev

R了解{kernlab}的{caret} train(tuneLength =)和SVM方法

来自分类Dev

训练svm模型时如何调整参数

来自分类Dev

将R Caret模型与不同的调整参数一起使用

来自分类Dev

如何通过 RFE 将选定的变量插入到 r 中的机器学习模型中?

来自分类Dev

如何判断R是否仍在估计我的SVM模型或崩溃了?

来自分类Dev

在R中由插入符号包训练的SVM线性模型

来自分类Dev

(Caret)软件包中机器学习模型的功能重要性

来自分类Dev

在R(线性SVM内核)中调整svm参数

来自分类Dev

如何使用保存 SVM 模型进行预测

来自分类Dev

机器学习-如何摆脱svm的偏见?

来自分类Dev

如何使用R中的Gravity Package并排创建重力模型表

来自分类Dev

如何在 Google Cloud ML 上定期训练和部署新的机器学习模型?如何自动化这个过程?

来自分类Dev

机器学习模型如何更新?

来自分类Dev

如何使用训练有素的机器学习模型预测未标记的测试数据?

来自分类Dev

R's Caret软件包混淆了线性模型(lm)和随机森林

来自分类Dev

在`bwplot()`中对`caret`模型进行排序

来自分类Dev

R中的SVM错误

来自分类Dev

如何继续基于先前模型训练SVM

来自分类Dev

如何继续基于先前的模型训练SVM

来自分类Dev

训练SVM模型后如何加载未标记的数据进行情感分类?

来自分类Dev

SVM模型中的错误:预处理方法限于:R中的BoxCox,YeoJohnson

来自分类Dev

tensorflow tf.contrib.learn.SVM 如何重新加载训练好的模型并使用预测对新数据进行分类

来自分类Dev

在R中为svm创建数据集(e1071)

来自分类Dev

如何使用机器学习模型预测特征稍有不同的数据?

来自分类Dev

机器学习-SVM

来自分类Dev

SVM机器学习-如何在训练集中定义目标?

Related 相关文章

  1. 1

    如何使用新数据更新SVM模型

  2. 2

    R-Caret:如何使用多个模型构建更有效的模型并预测新结果

  3. 3

    当classProbs = TRUE时,在R中使用Caret对SVM的不同结果

  4. 4

    R了解{kernlab}的{caret} train(tuneLength =)和SVM方法

  5. 5

    训练svm模型时如何调整参数

  6. 6

    将R Caret模型与不同的调整参数一起使用

  7. 7

    如何通过 RFE 将选定的变量插入到 r 中的机器学习模型中?

  8. 8

    如何判断R是否仍在估计我的SVM模型或崩溃了?

  9. 9

    在R中由插入符号包训练的SVM线性模型

  10. 10

    (Caret)软件包中机器学习模型的功能重要性

  11. 11

    在R(线性SVM内核)中调整svm参数

  12. 12

    如何使用保存 SVM 模型进行预测

  13. 13

    机器学习-如何摆脱svm的偏见?

  14. 14

    如何使用R中的Gravity Package并排创建重力模型表

  15. 15

    如何在 Google Cloud ML 上定期训练和部署新的机器学习模型?如何自动化这个过程?

  16. 16

    机器学习模型如何更新?

  17. 17

    如何使用训练有素的机器学习模型预测未标记的测试数据?

  18. 18

    R's Caret软件包混淆了线性模型(lm)和随机森林

  19. 19

    在`bwplot()`中对`caret`模型进行排序

  20. 20

    R中的SVM错误

  21. 21

    如何继续基于先前模型训练SVM

  22. 22

    如何继续基于先前的模型训练SVM

  23. 23

    训练SVM模型后如何加载未标记的数据进行情感分类?

  24. 24

    SVM模型中的错误:预处理方法限于:R中的BoxCox,YeoJohnson

  25. 25

    tensorflow tf.contrib.learn.SVM 如何重新加载训练好的模型并使用预测对新数据进行分类

  26. 26

    在R中为svm创建数据集(e1071)

  27. 27

    如何使用机器学习模型预测特征稍有不同的数据?

  28. 28

    机器学习-SVM

  29. 29

    SVM机器学习-如何在训练集中定义目标?

热门标签

归档