Switch to side-by-side view

--- a
+++ b/Linear-Lasso-Classifiers.R
@@ -0,0 +1,105 @@
+
+rm(list = ls())
+gc()
+
+library("glmnet")
+library("pROC")
+library("readxl")
+library("nnet")
+
+
+workbook<-"Feature matrix extracted by BigbiGAN from yout training dataset."
+Sta = read_excel(workbook,1)
+
+workbook1<-"Feature matrix extracted by BigbiGAN from yout test dataset."
+Sta1 = read_excel(workbook1,1)
+
+workbook2<-"Feature matrix extracted by BigbiGAN from yout validation dataset."
+Sta2 = read_excel(workbook2,1)
+
+workbook3<-"Feature matrix extracted by BigbiGAN from yout external validation dataset."
+Sta3 = read_excel(workbook3,1)
+
+Train<-data.frame(Sta)
+Tval<-data.frame(Sta1)
+Test<-data.frame(Sta2)
+ExterV<-data.frame(Sta3)
+
+
+FeaNumTrain<-"Dimension of semantic features extracted by BigBiGAN"
+FeaNumTest<-"Dimension of semantic features extracted by BigBiGAN"
+FeaNumTval<-"Dimension of semantic features extracted by BigBiGAN"
+FeaNumExtV<-"Dimension of semantic features extracted by BigBiGAN"
+
+
+
+TrainFea<-data.frame(Train)
+TvalFea<-data.frame(Tval)
+TestFea<-data.frame(Test)
+ExterVFea<-data.frame(ExterV)
+
+
+
+Trainy<-Train[(ncol(Train)-FeaNumTrain):(ncol(Train))] ##Features are stored at the end of the matrix.
+Trainy<-data.frame(Trainy)
+
+##Linear Classifier
+fm <- lm("COVID"~., data=Trainy)
+summary(fm)
+
+lmpred_Val<-predict(fm,Tval)
+Roc_Val<-roc(Tval$"COVID",lmpred_Val)
+auc(Roc_Val)
+plot(Roc_Val, print.auc=TRUE, auc.polygon=TRUE, grid=c(0.1, 0.2),
+     grid.col=c("green", "red"), max.auc.polygon=TRUE,
+     auc.polygon.col="skyblue", print.thres=TRUE)
+
+lmpred_Test<-predict(fm,Test)
+Roc_Test<-roc(Test$"COVID",lmpred_Test)
+auc(Roc_Test)
+plot(Roc_Test, print.auc=TRUE, auc.polygon=TRUE, grid=c(0.1, 0.2),
+     grid.col=c("green", "red"), max.auc.polygon=TRUE,
+     auc.polygon.col="skyblue", print.thres=TRUE)
+
+lmpred_Ext<-predict(fm,ExterVFea)
+Roc_Ext<-roc(ExterVFea$"COVID",lmpred_Ext)
+auc(Roc_Ext)
+plot(Roc_Ext, print.auc=TRUE, auc.polygon=TRUE, grid=c(0.1, 0.2),
+     grid.col=c("green", "red"), max.auc.polygon=TRUE,
+     auc.polygon.col="skyblue", print.thres=TRUE)
+
+
+##Lasso Classifier
+y<- Train$COVID
+TrainFea_Lasso <- TrainFea
+names(TrainFea_Lasso) <- NULL
+TrainFea_Lasso<-data.matrix(TrainFea_Lasso)
+fit<-glmnet(TrainFea_Lasso,y,alpha=1,family='binomial')
+plot(fit, xvar = "lambda", label = TRUE)
+cv.fit<-cv.glmnet(TrainFea_Lasso,y,family="binomial")
+
+lmpred_Train <-predict(fit,type="response",newx = TrainFea_Lasso,s=cv.fit$lambda.1se)
+Roc_Train<-roc(Train$COVID,lmpred_Train)
+auc(Roc_Train)
+
+TvalFea_Lasso <- TvalFea
+names(TvalFea_Lasso) <- NULL
+TvalFea_Lasso<-data.matrix(TvalFea_Lasso)
+lmpred_Tval <-predict(fit,type="response",newx = TvalFea_Lasso,s=cv.fit$lambda.1se)
+Roc_Tval<-roc(Tval$COVID,lmpred_Tval)
+auc(Roc_Tval)
+
+TestFea_Lasso <- TestFea
+names(TestFea_Lasso) <- NULL
+TestFea_Lasso<-data.matrix(TestFea_Lasso)
+lmpred_Test <-predict(fit,type="response",newx = TestFea_Lasso,s=cv.fit$lambda.1se)
+Roc_Test<-roc(Test$COVID,lmpred_Test)
+auc(Roc_Test)
+
+ExterFea_Lasso <- ExterVFea
+names(ExterFea_Lasso) <- NULL
+ExterFea_Lasso<-data.matrix(ExterFea_Lasso)
+lmpred_Ext <-predict(fit,type="response",newx = ExterFea_Lasso,s=cv.fit$lambda.min)
+Roc_Ext<-roc(ExterV$COVID,lmpred_Ext)
+auc(Roc_Ext)
+