Caret - 预测训练集的表型标签?

时间:2016-03-21 15:39:30

标签: r-caret

我有200名患者被分配到训练和验证组,比例为2:1。我使用GLMNET的插入符来训练一个允许预测二元表型的分类器:

splitSample <- createDataPartition(phenotype, p = 0.66, list = FALSE)
training_expression <- expression[splitSample,]
training_phenotype <- phenotype[splitSample]
validation_expression <- expression[-splitSample,]
validation_phenotype <- phenotype[-splitSample]

eGrid <- expand.grid(.alpha=seq(0,1,by=0.1),.lambda=seq(0,1,by=0.01))
Control <- trainControl(number=10, repeats=1, verboseIter=FALSE, classProbs=TRUE, summaryFunction=twoClassSummary, method="cv") 
netFit <- train(x =training_expression, y = training_phenotype,method = "glmnet", metric = "ROC", tuneGrid=eGrid,trControl = Control)
netFitPerf <- getTrainPerf(netFit) 

predict_validation <- predict(netFit, newdata = validation_expression)
confusionMatrix(predict_validation,validation_phenotype)

“predict_validation”包含验证集中每位患者的预测表型标签 - 是否有任何有效方法可以为训练集中的每位患者获得“预测”表型标签,即最终预测所有患者的表型标签(这对于进一步进行统计分析很重要,例如将所有患者的预测表型标签与其他参数(例如其与年龄或存活率等的相关性)进行比较?任何想法?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

使用训练集中的保持预测非常重要;只是重新预测它们会导致过度拟合价值。

如果您使用选项trainControl(savePredictions = "final")train对象将有一个名为pred的元素,其中包含保留预测。

最大