Need Packages for the experiment
#install.packages("clusterSim") #https://www.analyticsvidhya.com/blog/2016/03/practical-guide-deal-imbalanced-classification-problems/ library(clusterSim) library(ggplot2) library(MChenINN) library(e1071) library(caret ) library(ROCR) library("plyr") library(deldir) #Datasets library(mlbench)
# Datasets # Two Moon p<-shapes.two.moon(900) names(p) <- c("x","classes")
# Spiral p<-mlbench.spirals(600,1.5,0.05) names(p) <- c("x","classes") # Iris Dataset
data(iris) #dataset<-iris[which(iris$Species!="setosa"),][1:2-3] dataset<-iris[which(iris$Species!="Versicolor"),][1:2-3] dataset <- dataset[sample(1:100, 100, replace=F),] irissubdf <- dataset[1:100, c(1, 2, 3)] names(irissubdf) <- c("sepal", "petal", "species") irisValues <- irissubdf[,1:2] irisValues <- sapply(irisValues, as.numeric) classes<-as.numeric(irissubdf$species) #classes_bin<-mapvalues(classes,from=c(2,3),to=c(1,2)) classes_bin<-mapvalues(classes,from=c(1,3),to=c(1,2)) irisdata <- cbind(irisValues,classes_bin) #irisTargets <- decodeClassLabels(iris[,5], valTrue=0.9, valFalse=0.1) p <- list() p[[1]] <- as.matrix(irissubdf[,1:2]) p[[2]] <- classes_bin names(p) <- c("x","classes") #names(p1) <- c("x","classes")
### Data condensation Experimental # Data Preparation - Receive a matrix - last column is the label D <- mchendatapreparation(p) #D1 <- mchendatapreparation(p1) # Step 2 # Perform the data condensation with chen`s algorithm with entropy function mchencondensation(D,le=-0.1,standdeviation=1,MM=7) # Step 3 # Show the performance of Entropy Function #drawconfusion() mchendrawentropyfunction()
# Performance Statistics statistics <- data.frame() #statistics <- c("param1_le","param2_sd","param3_mm","datapoints","redution","elapsedtime","numprototype") # Plan Test plan_test <- matrix(1:3, nrow = 3, ncol = 3) plan_test[1,] <- cbind(-0.1,1,5) plan_test[2,] <- cbind(-0.1,1,10) plan_test[3,] <- cbind(-0.1,2,10) plan_id <- 1 # To sum up values to hiperparameters value_Param1 <- 1 value_Param2 <- 0 value_Param3 <- 0 iteractions <- 9 for(i in 1:iteractions){ mchencondensation(D,le=plan_test[plan_id,1]-(.1*(value_Param1*i)),standdeviation=plan_test[plan_id,2]+(value_Param2*i),MM=plan_test[plan_id,3]+(value_Param3*i)) newRow <- data.frame(param1_le=plan_test[plan_id,1]-(.1*(value_Param1*i)),param2_sd=plan_test[plan_id,2]+(value_Param2*i),param3_mm=plan_test[plan_id,3]+(value_Param3*i),datapoints=Nd,reduction=((1-(length(condensed_training$elementos)/Nd))*100),elapsedtime=end_time-start_time,numprototype=length(condensed_training$elementos)) statistics <- rbind(statistics,newRow) } statistics
attach(statistics) #ggplot(data = statistics, mapping = aes(x = elapsedtime, y = reduction, color = param3_mm)) + geom_jitter(alpha = 1) #par(mfrow=c(2,2)) #plot(param1_le,reduction, main="Scatterplot of wt vs. mpg") #plot(param1_le,elapsedtime, main="Scatterplot of wt vs disp") #hist(wt, main="Histogram of wt") #boxplot(wt, main="Boxplot of wt") require(ggplot2) require(reshape2) df <- data.frame(iteractions = 1:iteractions, reduction = reduction, elapsedtime = elapsedtime, entropy = param1_le*-1, sd = param2_sd, mm = param3_mm) df <- melt(df , id.vars = 'iteractions', variable.name = 'Metrics') # plot on same grid, each series colored differently -- # good if the series have same scale ggplot(df, aes(iteractions,value)) + geom_line(aes(colour = Metrics)) + scale_x_continuous(breaks = c(1:iteractions),labels = c(1:iteractions)) + scale_y_log10()
# or plot on different plots ggplot(df, aes(iteractions,value)) + geom_line() + facet_grid(Metrics ~ .) + scale_x_continuous(breaks = c(1:iteractions),labels = c(1:iteractions)) + scale_y_log10()
mchendrawdistriborig()
mchendrawdistricondensed()
mchenknn()
mchendrawaucknn()
mchendrawksstat()
mchendrawmodelknn()
prediction <- as.data.frame(pred_val@labels) names(prediction) <- c("label") prediction <- as.factor((prediction$label)) actual_values <- as.factor(validation$label) mchendrawconfusion(valid_pred_class_bin,prediction) #confusionMatrix(prediction, valid_pred_class_bin, dnn = c("Prediction", "Reference"))
# Explore data #dim(train) #dim(validation) #names(train) #head(train) #head(validation)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.