In [ ]:
# Require the packages
require(ggplot2)
require(reshape2)
library(repr)

options(repr.plot.width=10.5, repr.plot.height=6.5)

In [ ]:
# Load the data
accuracies <- read.csv("data/accuracies_sensem_semisupervised.csv")
accuracies$metric <- "accuracy"
mcp <- read.csv("data/mcp_sensem_semisupervised.csv")
mcp$metric <- "mcp"
lcr <- read.csv("data/lcr_sensem_semisupervised.csv")
lcr$metric <- "lcr"

In [ ]:
# Transform the data
accuracies.long <- melt(accuracies, id.vars = c("metric"), variable.name = "experiment", value.name = "result")
mcp.long <- melt(mcp, id.vars = c("metric"), variable.name = "experiment", value.name = "result")
lcr.long <- melt(lcr, id.vars = c("metric"), variable.name = "experiment", value.name = "result")
#data <- accuracies.long
data <- rbind(accuracies.long, mcp.long)
data <- rbind(data, lcr.long)
data$experiment <- factor(data$experiment, levels=c("supervised_bow", "supervised_vec", "supervised_vecpos",
                                                    "bootstrap_bow", "bootstrap_vec", "bootstrap_vecpos",
                                                    "ladder_vec", "ladder_vecpos"))
data$metric <- factor(data$metric, levels=c("accuracy", "mcp", "lcr"))
levels(data$metric) <- c("Accuracy", "Most Frequent Class Precision", "Less Frequent Classes Recall")

In [ ]:
# Plot
p <- ggplot(data, aes(experiment, result))
p <- p + stat_boxplot(geom="errorbar")
p <- p + facet_wrap(~ metric)
p <- p + geom_boxplot(aes(fill=experiment))
p <- p + scale_y_continuous(breaks=seq(0, 1, 0.1))
p <- p + scale_fill_discrete(name="Experiment",
                      labels=c("Supervised\nBag-of-Words\n& Logistic Regression",
                               "Supervised\nWord Embeddings\n& Multilayer Perceptron",
                               "Supervised\nWord Embeddings\nand PoS\n& Multilayer Perceptron",
                               "Naive Bootstrap\nBag-of-Words\n& Logistic Regression",
                               "Naive Bootstrap\nWord Embeddings\n& Multilayer Perceptron",
                               "Naive Bootstrap\nWord Embeddings\nand PoS\n& Multilayer Perceptron",
                               "Ladder Networks\nWord Embeddings\n& Multilayer Perceptron",
                               "Ladder Networks\nWord Embeddings\nand PoS\n& Multilayer Perceptron"))
p <- p + labs(title="SenSem Semisupervised Experiments Comparison")
p <- p + theme(
      plot.title=element_text(size=15, face="bold", margin=margin(10, 0, 10, 0), vjust=1, lineheight=0.6),
      strip.text.x=element_text(size=10),
      axis.title.x=element_blank(),
      axis.title.y=element_blank(),
      axis.text.x=element_blank(),
      axis.ticks.x=element_blank(),
      legend.title=element_text(face="bold", size=13),
      legend.text=element_text(size=11),
      legend.key.height=unit(3.5,"line")
  )
p

In [ ]:
# Save the plot
ggsave("plots/sensem_semisupervised_results.png", plot=p, width=10.5, height=6.5)

In [ ]:
require(Rmisc)

datase <- summarySE(data, measurevar="result", groupvars=c("experiment", "metric"))

In [ ]:
write.csv(datase, file="general_metrics.csv")

In [ ]: