knitr::opts_chunk$set(echo = TRUE)
devtools::document()
# devtools::install()
pacman::p_load(tidyverse, recipes, tidyr, comperes, comperank)
load("gams_sub.Rdata")

games <- gams_sub %>%
  filter(league_id == 82) %>%
  mutate_at(vars(game_id, contains("team_id")), as.integer) %>%
  select(-winner_team_id) %>%
  mutate(winner = case_when(
    local_team_score > visitor_team_score ~ 1,
    local_team_score == visitor_team_score ~ .5,
    local_team_score < visitor_team_score ~ 0,
    )
  ) %>%
  rename(local_ft_score = local_team_score, visitor_ft_score = visitor_team_score) %>% 
  mutate(
    local_ht_score = local_ft_score,
    visitor_ht_score = visitor_ft_score
  )

train <- games %>% 
  filter(year < 2019)
test <- games %>% 
  filter(year > 2018)

Soccerstats

devtools::document()

rec <- recipe( ~ ., data = head(games)) %>%
  update_role(game_id, new_role = "ID")

f2 <- learner$new(params = list(type = ""), task = "linear", backend = "soccerstats")

f2$fit_pair(rec, na.omit(train[1:100,]))
preds <- f2$predict_pair(test[1:100,], "w200")
preds %>% glimpse


preds$local_hft_score_diff_mean_w200

PlayerRatings

library(PlayerRatings)

devtools::document()

rec <- recipe(local_team_score + visitor_team_score ~ local_team_id + visitor_team_id + game_id, data = head(games)) %>%
  update_role(game_id, new_role = "ID")

f2 <- learner$new(params = list(type = ""), task = "linear", backend = "PlayerRatings")

f2$fit_pair(rec, na.omit(train[1:100,]))
preds <- f2$predict_pair(test[1:100,], "w200")
preds %>% glimpse

PI

# devtools::install_github("echasnovski/comperank")
#library(rlang)
#library(comperank)

# ncaa2005
# mat <- comperes::as_widecr(ncaa2005)

devtools::document()

rec <- recipe(local_team_score + visitor_team_score ~ local_team_id + visitor_team_id + game_id, data = head(games)) %>%
  update_role(game_id, new_role = "ID")

f2 <- learner$new(params = list(type = ""), task = "linear", backend = "pi")

f2$fit_pair(rec, na.omit(train[1:100,]))
preds <- f2$predict_pair(test[1:100,], "w200")
preds %>% glimpse

piratings

Comprank

# devtools::install_github("echasnovski/comperank")
#library(rlang)
#library(comperank)

# ncaa2005
# mat <- comperes::as_widecr(ncaa2005)

devtools::document()

rec <- recipe(local_team_score + visitor_team_score ~ local_team_id + visitor_team_id + game_id, data = head(games)) %>%
  update_role(game_id, new_role = "ID")

f2 <- learner$new(params = list(type = ""), task = "linear", backend = "comperank")

f2$fit_pair(rec, na.omit(train[1:100,]))
preds <- f2$predict_pair(test[1:100,], "w200")
preds %>% glimpse

POIS

# devtools::install()
devtools::document()

rec <- recipe(local_team_score + visitor_team_score ~ local_team_id + visitor_team_id + game_id, data = head(games)) %>%
  update_role(game_id, new_role = "ID")

# f1 <- fit_learner(rec, games, params = NULL, task = "linear", backend = "goalmodel")
f2 <- learner$new(params = list(type = "pois"), task = "linear", backend = "goalmodel")
f2$fit_pair(rec, na.omit(train[1:100,]))

preds <- f2$predict_pair(test[1:100,], "w200")
preds

ELO

# devtools::install()
devtools::document()

rec <- recipe(local_team_score + visitor_team_score ~ local_team_id + visitor_team_id + game_id, data = head(games)) %>%
  update_role(game_id, new_role = "ID")

# f1 <- fit_learner(rec, games, params = NULL, task = "linear", backend = "goalmodel")
f2 <- learner$new(params = list(init = 1500, k = 30), task = "linear", backend = "elo")
f2$fit_pair(rec, train[1:100,])

preds <- f2$predict_pair(test[3,], "w200")
f2$predict_pair(test[4,], "w200")
preds

fastnb

# devtools::install_github("mskogholt/fastNaiveBayes")
library(fastNaiveBayes)
devtools::document()

rec <- games %>%
  head() %>%
  recipe(local_team_score + visitor_team_score ~ local_team_id + visitor_team_id + game_id, data = .) %>%
  recipes::update_role(game_id, new_role = "ID")

f3 <- learner$new(params = list(some = ""), task = "linear", backend = "fastnb")
f3$fit_pair(rec, train)
preds <- f3$predict_pair(test, "w200")
preds %>% count(fnb_score_event_diff_teamscore_w200)

f3$meta
preds$fnb_ft_winner_teamscore_w200 %>% hist
# rec <- df %>%
#   recipes::recipe(y ~ local_team_id + visitor_team_id, data = head(.)) %>%
#   recipes::step_dummy(local_team_id, visitor_team_id) %>%
#   recipes::prep(training = df, retain = T)
# 
# x <- recipes::juice(rec) %>%
#   dplyr::select(-y)


train %>% count(visitor_team_id)


systats/deeplyr documentation built on Oct. 4, 2020, 7:59 p.m.