Skip to content

Instantly share code, notes, and snippets.

View revodavid's full-sized avatar

David Smith revodavid

View GitHub Profile
@revodavid
revodavid / slide-code.R
Created February 3, 2020 22:21
R code for slides in "Machine Learning Operations for R"
#### Code from slides
## This code is excerpted from experiments-with-R.Rmd,
## edited and reformatted for use on slides
## SLIDE: Prepare Data
library(azuremlsdk)
ws <- load_workspace_from_config()
library(AzureRMR)
library(AzureGraph)
library(AzureStor)
# set your Azure organization and subscription details here
tenant <- "mytenant"
sub_id <- "12345678-aaaa-bbbb-cccc-0123456789ab"
# create a Graph client
gr <- AzureGraph::create_graph_login(tenant)
## get n colors at once
random.colors <- function(n) {
hexbot <- GET(endpoint, query=list(count=n))
unlist(content(hexbot)$colors)
}
ncol <- 5
barplot(rep(1,ncol),col=random.colors(ncol), axes=FALSE)
## get n colors with locations
random.points <- function(n,width=100,height=100) {
hexbot <- GET(endpoint, query=list(count=n, width=width, height=height))
data <- matrix(unlist(content(hexbot)$colors),ncol=3,byrow=TRUE)
cols <- data[,1]
x <- as.numeric(data[,2])
y <- as.numeric(data[,3])
data.frame(cols, x, y)
}
## get a single color, and display on screen
random.color <- function() {
hexbot <- GET(endpoint)
content(hexbot)$colors[[1]]$value
}
rcol <- random.color()
barplot(1, col=rcol, main=rcol, axes=FALSE)
library(httr)
endpoint <- "https://api.noopschallenge.com/hexbot"
# Separate LHS and RHS rules
r1$rulecount <- as.character(r1$rule)
max_col <- max(sapply(strsplit(r1$rulecount,' => '),length))
r_sep <- separate(data = r1, col = rule, into = paste0("Time",1:max_col), sep = " => ")
r_sep$Time2 <- substring(r_sep$Time2,3,nchar(r_sep$Time2)-2)
# Strip LHS baskets
max_time1 <- max(sapply(strsplit(r_sep$Time1,'},'),length))
r_sep$TimeClean <- substring(r_sep$Time1,3,nchar(r_sep$Time1)-2)
r_sep$TimeClean <- gsub("\\},\\{", "zzz", r_sep$TimeClean)
# Get induced temporal rules from frequent itemsets
r1 <- as(ruleInduction(s1, confidence = 0.5, control = list(verbose = TRUE)), "data.frame")
# Get frequent sequences and corresponding support values
s1 <- cspade(trans_matrix, parameter = list(support = 0.3), control = list(verbose = TRUE))
s1.df <- as(s1, "data.frame")
summary(s1)
# Import relevant packages
library(dplyr)
library(tidyverse)
library(arulesSequences)
#Import standard transaction data
transactions = read.csv("transactions.csv")
# Start time of data to be considered
start_month <- "2015-07-01"