Skip to content

Instantly share code, notes, and snippets.

@SakshamInABox
Last active May 8, 2019 09:58
Show Gist options
  • Save SakshamInABox/26c0b463675faac169e61ef265afa3e7 to your computer and use it in GitHub Desktop.
Save SakshamInABox/26c0b463675faac169e61ef265afa3e7 to your computer and use it in GitHub Desktop.
#Load & Assign Files
TrainDataOrange <- read.arff("D:/Downloads/orange_train.arff")
colnames(TrainDataOrange)[colnames(TrainDataOrange)=="Var230"] <- "class"
TestDataOrange <- read.arff("D:/Downloads/orange_test.arff")
colnames(TestDataOrange)[colnames(TestDataOrange)=="Var230"] <- "class"
#Obtain Class Values
Actual <- TestDataOrange[, 230]
#Ranking
A <- GainRatioAttributeEval(class ~ . , data = TrainDataOrange,na.action=NULL )
ranked_list <- A[order(A)]
A[order(-A)]
#Feature Drop
for (i in seq(225,5,-5)) {
cat("Number of features selected:",i,"\n")
D <- (225-i)
s <- ranked_list[1:D]
cols.dont.want <- c(names(s))
TrainDataOrange1 <- TrainDataOrange[, !names(TrainDataOrange) %in% cols.dont.want, drop=T]
#J48 Classifier
classifier <- J48(class~.,data=TrainDataOrange1,na.action=NULL)
TestDataOrange1 <- TestDataOrange[, !names(TrainDataOrange) %in% cols.dont.want, drop=T]
pred<-predict(classifier,TestDataOrange1, na.action=NULL,seed=1)
#Scoring
P11<-0
P12<-0
P21<-0
P22<-0
Actual[]
for(K in seq(1,1667))
{
if(Actual[K]==-1)
{
if(pred[K]==-1)
{
P11<-P11+1
}
else
{
P12<-P12+1
}
}
else if(Actual[K]==1)
{
if(pred[K]==1)
{
P22<-P22+1
}
else
{
P21<-P21+1
}
}
}
#F_Score
Prec_1<-(P11/(P11+P21))
Prec_2<-(P22/(P22+P12))
Recall_1<-(P11/(P11+P12))
Recall_2<-(P22/(P22+P21))
F_1<-(2*Prec_1*Recall_1)/(Prec_1+Recall_1)
F_2<-(2*Prec_2*Recall_2)/(Prec_2+Recall_2)
paste("This is the F2 score",F_2)
}
t<-system.time(predict(classifier,TestDataOrange1, na.action=NULL,seed=1))
paste("This is the total classification time", t[[1]])
#IBk Classifier
classifier <- IBk(class~.,data=TrainDataOrange1,na.action=NULL)
#NaiveBayes
NB <- make_Weka_classifier("weka/classifiers/bayes/NaiveBayes")
classifier <- NB(class~.,data=TrainDataOrange1,na.action=NULL)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment