library(knitr)
library(pander)

knitr::opts_chunk$set(collapse=TRUE,
                      comment="#>", results="markup",
                      fig.show='hold', fig.align="center", fig.height=8, fig.width=8,
                      message=FALSE, warning=FALSE, echo=TRUE,
                      cache=TRUE)

panderOptions("knitr.auto.asis", FALSE)

theme_set(
    theme_bw(base_size=14) + theme(
#        legend.position="bottom",
        legend.key=element_rect(colour=NA),
        plot.margin=unit(c(0.5, 0.5, 0.5, 0.5), "cm")
    )
)

set.seed(123)
PROJECT_DIR <- Sys.getenv('PROJECT_DIR')

Test Dataset

data(test_df, package="ProjUtils")
str(test_df)

Craft S4 Classifier lists

kGOLD_STD <- "attg"

# Make classifierPoints with logical columns
cPs <- test_df %>% 
    keep(.p=is.logical) %>% 
    `[`(names(.) %ni% kGOLD_STD) %>% 
    map(function(x_lgl) ClassifierPoint(Y_=x_lgl, Y=test_df[[kGOLD_STD]], id = test_df[["id"]]))
# Make classifierCurves with numeric columns
cCs <- test_df %>%   
    keep(.p=is.numeric) %>% 
    map(function(x_dbl) ClassifierCurve(pY=x_dbl, Y=test_df[[kGOLD_STD]], id = test_df[["id"]]))

Tabulate

glance() Binary Classifier Performance metrics

(lift_dl(rbind))(map(cPs, glance_ClassifierPoint)) %>% 
    tibble::rownames_to_column(var="grader") %>% 
    arrange(desc(acc)) %>% 
    knitr::kable(digits=2)

glance() Continuous Classifier Performance metrics

(lift_dl(rbind))(map(cCs, glance_ClassifierCurve)) %>% 
    tibble::rownames_to_column(var="grader") %>% 
    arrange(desc(auc)) %>% 
    knitr::kable(digits=2)

Pick a single cnn_4

map_dfr(cCs, roc, .id = "cnn") %>% 
    ggplot(., aes(x=x, y=y, col=cnn)) +
    geom_line() +
    AnalysisToolkit:::gg_roc_layers
cCs["cnn_4"] <- cCs["cnn_41"]
cCs[c("cnn_41", "cnn_42", "cnn_43")] <- NULL

Re-rank continuous classifiers (cnns)

(lift_dl(rbind))(map(cCs, glance_ClassifierCurve)) %>% 
    tibble::rownames_to_column() %>% 
    arrange(desc(auc)) %>% 
    knitr::kable(digits=2)

Save Classifier Lists As Package Data

classifiers <- list(
    "classifier_points" = cPs,
    "classifier_curves" = cCs
)
str(classifiers)
#devtools::use_data(classifiers, overwrite = TRUE)

Sys Info

Sys.info()
search()


mbadge/AnalysisToolkitR documentation built on May 27, 2019, 1:08 p.m.