2016-03-21 20 views
1

2: 1 oranında bir eğitim ve doğrulama setine ayrılmış 200 hastam var. Ben bir ikili fenotipi tahmin sağlayan bir sınıflandırıcı eğitmek için GLMNET ile çıkıntı işareti kullanın:Caret - eğitim seti için fenotip etiketlerini tahmin ediyor musunuz?

"predict_validation" doğrulama kümesindeki her bir hasta için öngörülen fenotip etiketleri içerir

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) 
- Ayrıca elde etmek herhangi bir geçerli yöntem yoktur "öngörüsünde "eğitim setindeki her hasta için fenotip etiketleri, yani nihayet mevcut tüm hastalar için tahmin edilen fenotip etiketlerine sahip olmak (örneğin, tahmin edilen fenotip etiketlerini tüm hastalardan diğer parametrelere göre karşılaştırmak için istatistiksel analizi gerçekleştirmek önemli olacaktır (örneğin, yaş ile korelasyonu) veya herhangi bir fikir?

Yardımlarınız için teşekkürler!

cevap

1

eğitim setinden tahminlerini dışarıda tutmak önemlidir; Sadece onları önceden tahmin etmek fazla değerlere yol açacaktır.

trainControl(savePredictions = "final") seçeneğini kullanırsanız, train nesnesinin bekletme tahminleriyle pred adlı bir öğeye sahip olur.

+0

Teşekkür ederiz. Tam olarak aradığım şey buydu! – user86533