0
계속적인 결과로 그라디언트가 증가 된 기계 학습 알고리즘에서 생성 된 AUC 주위에 부트 스트랩 된 신뢰 구간을 얻는 데 노력하고 있습니다.그라디언트 증가 모델에서 AUC 추출하기 R 수동으로 생성 된 복제본에서 R
- 리 샘플
- 분위수가 결과 변수를
- 실행 GBM을 정상화 교체와 주요 데이터 세트 (N = 1000) : 다음은 최소 200 번 반복해야 할 것 중 하나 반복에 대한 코드입니다 어떻게 것 리샘플링 된 데이터 세트 및 200 개 데이터 세트를 생성하고 (200) AUC의 I 병합 수를 추출, AUC 나는이 코드를 통해 200 번 실행 할 매크로를 사용할 수 SAS 알고
를 추출,하지만 난 몰라 R에서 이것을 반복하십시오.
#calling required packages
library("WVPlots")
source('functions.R')
require(gbm)
#generating some data
main<-matrix(
replicate(52,rnorm(1132)),
ncol=52,
nrow=1132,
dimnames = list(
1:1132,
1:52)
)
colnames(main)[1] <- "PctControl"
#creating resampled dataset BS[1] (so my aim is to repeat this for BS[1:200]
BS1=matrix(
rep(as.numeric(NA)),
nrow=1000,
ncol= ncol(main),
dimnames= list(1:1000, colnames(main))
)
BS1[1:1000,]<-as.matrix (main[sample(nrow(main),size=1000,replace=TRUE),])
BS1<-BS1[order(BS1[,1]),]
Survival <- as.numeric (BS1[,1])
NormedSurvival<- as.numeric(ppoints(Survival))
BS1<-cbind (NormedSurvival, BS1)
BS1<-as.data.frame(BS1[,-2])
#fitting the GBM model
scwrpxy.fit.gbm = gbm(NormedSurvival~.,
data=BS1,
n.trees = 50, verbose = T, shrinkage = 0.005,
bag.fraction = 0.25, # subsampling fraction, 0.5 is probably best
train.fraction = 0.3,
interaction.depth = 3, n.minobsinnode = 10, distribution = "gaussian",
cv.folds = 3)
summary(scwrpxy.fit.gbm)
#Calculating AUC
predictedGBM<-as.numeric(predict.gbm (scwrpxy.fit.gbm,
n.trees = 500,
shrinkage = 0.005,
interaction.depth=3,
bag.fraction=0.5,
train.fraction=0.3,
cv.folds = 5,
distribution="gaussian"))
observedGBM<-as.numeric(BS1$NormedSurvival)
TestTox<-as.data.frame(cbind(observedGBM,predictedGBM))
ROCPlot(TestTox,'predictedGBM','observedGBM','gbm model')
gbmAUC = as.numeric(pROC::auc(TestTox$observedGBM,TestTox$predictedGBM))
print(gbmAUC)