Diff of /Cox_DCAP.R [000000] .. [a50134]

Switch to unified view

a b/Cox_DCAP.R
1
library("xgboost")
2
library("ipred")
3
library("survival")
4
library("survivalROC")
5
library("glmnet")
6
library('kernlab')
7
library('plyr')
8
library('caret')
9
10
setwd('D:/brca')
11
12
kx2=read.csv('data_cox2.csv',row.names= 1)
13
sdata=read.csv('brca_go.csv',row.names= 1)
14
data1=t(sdata)
15
16
j=6
17
set.seed(j)
18
k=10
19
folds <- createFolds(as.data.frame(t(kx2)),k)
20
results<-matrix(nrow = k, ncol=6)
21
im=matrix(nrow=500,ncol=30)
22
eva<-matrix(nrow = nrow(kx2), ncol=k)
23
count=0
24
for(i in 1:k){
25
  testset <- kx2[folds[[i]],] 
26
  trainset <- kx2[-folds[[i]],] 
27
  te_xg=data1[folds[[i]],] 
28
  tr_xg=data1[-folds[[i]],] 
29
  x=trainset[,-c(1:2)]
30
  x=as.matrix(x)
31
  tc=trainset$time
32
  tc[tc==0]=0.001
33
  y=Surv(tc,trainset$status)
34
  cv.fit<-cv.glmnet(x,y,family="cox",maxit=10000,alpha=0,nfold=5)
35
  fit<-glmnet(x,y,family="cox",alpha=0)
36
  tt=predict(fit,x,s=cv.fit$lambda.min)
37
  x2=testset[,-c(1:2)]
38
  x2=as.matrix(x2)
39
  tc2=testset$time
40
  tc2[tc2==0]=0.001
41
  y2=Surv(tc2,testset$status)
42
  tt2=predict(fit,x2,s=cv.fit$lambda.min)
43
  y_xgtr=tt;
44
  x_xgtr=tr_xg
45
  x_xgtr=as.matrix(x_xgtr)
46
  x_xgte=te_xg
47
  x_xgte=as.matrix(x_xgte)
48
  bst <- xgboost(x_xgtr, y_xgtr, 
49
                 max_depth =3, eta =0.25, nrounds =6, min_child_weight=2,
50
                 objective = "reg:linear",eval_metric = "rmse")
51
  pred <- predict(bst, x_xgte)
52
  eva[(count+1):(count+nrow(tt2)),1]<-tc2
53
  eva[(count+1):(count+nrow(tt2)),2]<-testset$status
54
  eva[(count+1):(count+nrow(tt2)),3]=tt2
55
  eva[(count+1):(count+nrow(tt2)),4]=pred
56
  count=count+nrow(tt2)
57
  
58
}
59
60
tc3=eva[,1]
61
st3=eva[,2]
62
rk3=eva[,3]
63
rk4=eva[,4]
64
65
y3=Surv(tc3,st3)
66
ci_Cox=survConcordance(formula = y3~ rk3)
67
ci_Cox$concordance
68
ci_XGB=survConcordance(formula = y3~ rk4)
69
ci_XGB$concordance
70
71