Goal: to predict the average rating of horror movies. Click here for the data

Import Data

horror_movies <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2022/2022-11-01/horror_movies.csv')
## Rows: 32540 Columns: 20
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (10): original_title, title, original_language, overview, tagline, post...
## dbl   (8): id, popularity, vote_count, vote_average, budget, revenue, runtim...
## lgl   (1): adult
## date  (1): release_date
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
skimr::skim(horror_movies)
Data summary
Name horror_movies
Number of rows 32540
Number of columns 20
_______________________
Column type frequency:
character 10
Date 1
logical 1
numeric 8
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
original_title 0 1.00 1 191 0 30296 0
title 0 1.00 1 191 0 29563 0
original_language 0 1.00 2 2 0 97 0
overview 1286 0.96 1 1000 0 31020 0
tagline 19835 0.39 1 237 0 12513 0
poster_path 4474 0.86 30 32 0 28048 0
status 0 1.00 7 15 0 4 0
backdrop_path 18995 0.42 29 32 0 13536 0
genre_names 0 1.00 6 144 0 772 0
collection_name 30234 0.07 4 56 0 815 0

Variable type: Date

skim_variable n_missing complete_rate min max median n_unique
release_date 0 1 1950-01-01 2022-12-31 2012-12-09 10999

Variable type: logical

skim_variable n_missing complete_rate mean count
adult 0 1 0 FAL: 32540

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
id 0 1.00 445910.83 305744.67 17 146494.8 426521.00 707534.00 1033095.00 ▇▆▆▅▅
popularity 0 1.00 4.01 37.51 0 0.6 0.84 2.24 5088.58 ▇▁▁▁▁
vote_count 0 1.00 62.69 420.89 0 0.0 2.00 11.00 16900.00 ▇▁▁▁▁
vote_average 0 1.00 3.34 2.88 0 0.0 4.00 5.70 10.00 ▇▂▆▃▁
budget 0 1.00 543126.59 4542667.81 0 0.0 0.00 0.00 200000000.00 ▇▁▁▁▁
revenue 0 1.00 1349746.73 14430479.15 0 0.0 0.00 0.00 701842551.00 ▇▁▁▁▁
runtime 0 1.00 62.14 41.00 0 14.0 80.00 91.00 683.00 ▇▁▁▁▁
collection 30234 0.07 481534.88 324498.16 656 155421.0 471259.00 759067.25 1033032.00 ▇▅▅▅▅
data2 <- horror_movies %>%
  
  # Treat Missing Values
  select(-tagline, -collection_name, -collection, -backdrop_path) %>%
  filter(budget != 0) %>%
  filter(revenue != 0) %>%
  na.omit() %>%
  
  # Log Transform Variables with Pos-Skewed Distribution
  mutate(vote_average = log(vote_average)) %>%
  mutate(popularity = log(popularity)) %>%
  mutate(vote_count = log(vote_count)) %>%
  mutate(budget = log(budget)) %>%
  mutate(revenue = log(revenue))

skimr::skim(data2)
## Warning: There was 1 warning in `dplyr::summarize()`.
## ℹ In argument: `dplyr::across(variable_names, mangled_skimmers$funs)`.
## ℹ In group 0: .
## Caused by warning:
## ! There were 2 warnings in `dplyr::summarize()`.
## The first warning was:
## ℹ In argument: `dplyr::across(variable_names, mangled_skimmers$funs)`.
## Caused by warning in `inline_hist()`:
## ! Variable contains Inf or -Inf value(s) that were converted to NA.
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
Data summary
Name data2
Number of rows 1065
Number of columns 16
_______________________
Column type frequency:
character 7
Date 1
logical 1
numeric 7
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
original_title 0 1 1 50 0 1031 0
title 0 1 1 50 0 1025 0
original_language 0 1 2 2 0 29 0
overview 0 1 17 991 0 1063 0
poster_path 0 1 30 32 0 1065 0
status 0 1 8 8 0 1 0
genre_names 0 1 6 84 0 133 0

Variable type: Date

skim_variable n_missing complete_rate min max median n_unique
release_date 0 1 1953-04-16 2022-10-05 2007-01-25 986

Variable type: logical

skim_variable n_missing complete_rate mean count
adult 0 1 0 FAL: 1065

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
id 0 1 173676.13 251477.46 83.00 10676.00 29056.00 292106.00 1032494.00 ▇▁▁▁▁
popularity 0 1 2.60 1.36 -0.51 2.09 2.78 3.47 7.53 ▂▆▇▁▁
vote_count 0 1 -Inf NaN -Inf 4.91 6.33 7.38 9.74 ▁▁▃▇▃
vote_average 0 1 -Inf NaN -Inf 1.69 1.79 1.89 2.30 ▁▁▂▇▁
budget 0 1 14.60 3.44 0.00 14.00 15.61 16.52 19.11 ▁▁▁▅▇
revenue 0 1 15.13 3.86 0.00 13.83 16.30 17.64 20.37 ▁▁▂▅▇
runtime 0 1 93.81 23.94 0.00 88.00 96.00 104.00 179.00 ▁▁▇▂▁

Explore Data

Identify good predictors

Revenue

data2 %>%
  ggplot(aes(vote_average, revenue)) +
  geom_point()

Popularity

data2 %>%
  ggplot(aes(vote_average, popularity)) +
  geom_point()

Budget

data2 %>%
  ggplot(aes(vote_average, budget)) +
  geom_point()

EDA Shortcut

# Step 1: Prepare data
data_binarized_tbl2 <- data2 %>%
  select(-id, -original_title, -title, -overview, -poster_path, -genre_names, -release_date) %>%
  binarize()

data_binarized_tbl2 %>% glimpse()
## Rows: 1,065
## Columns: 31
## $ original_language__en                           <dbl> 1, 1, 1, 1, 1, 1, 1, 1…
## $ original_language__es                           <dbl> 0, 0, 0, 0, 0, 0, 0, 0…
## $ original_language__fr                           <dbl> 0, 0, 0, 0, 0, 0, 0, 0…
## $ original_language__hi                           <dbl> 0, 0, 0, 0, 0, 0, 0, 0…
## $ original_language__ja                           <dbl> 0, 0, 0, 0, 0, 0, 0, 0…
## $ original_language__ko                           <dbl> 0, 0, 0, 0, 0, 0, 0, 0…
## $ `original_language__-OTHER`                     <dbl> 0, 0, 0, 0, 0, 0, 0, 0…
## $ `popularity__-Inf_2.08902051646016`             <dbl> 0, 0, 0, 0, 0, 0, 0, 0…
## $ popularity__2.08902051646016_2.77589574799728   <dbl> 0, 0, 0, 0, 0, 0, 0, 0…
## $ popularity__2.77589574799728_3.47196645255036   <dbl> 0, 0, 0, 0, 0, 0, 0, 0…
## $ popularity__3.47196645255036_Inf                <dbl> 1, 1, 1, 1, 1, 1, 1, 1…
## $ `vote_count__-Inf_4.91265488573605`             <dbl> 1, 0, 1, 0, 0, 0, 0, 0…
## $ vote_count__4.91265488573605_6.32793678372919   <dbl> 0, 0, 0, 0, 0, 1, 0, 0…
## $ vote_count__6.32793678372919_7.38274644973891   <dbl> 0, 0, 0, 0, 1, 0, 0, 0…
## $ vote_count__7.38274644973891_Inf                <dbl> 0, 1, 0, 1, 0, 0, 1, 1…
## $ `vote_average__-Inf_1.68639895357023`           <dbl> 0, 0, 0, 0, 0, 1, 0, 0…
## $ vote_average__1.68639895357023_1.79175946922805 <dbl> 0, 0, 1, 0, 0, 0, 0, 0…
## $ vote_average__1.79175946922805_1.88706964903238 <dbl> 0, 0, 0, 0, 0, 0, 0, 0…
## $ vote_average__1.88706964903238_Inf              <dbl> 1, 1, 0, 1, 1, 0, 1, 1…
## $ `budget__-Inf_13.9978321147582`                 <dbl> 0, 0, 0, 0, 0, 1, 0, 0…
## $ budget__13.9978321147582_15.6072700271923       <dbl> 0, 0, 0, 0, 0, 0, 0, 0…
## $ budget__15.6072700271923_16.5235607590665       <dbl> 0, 0, 0, 0, 1, 0, 0, 0…
## $ budget__16.5235607590665_Inf                    <dbl> 1, 1, 1, 1, 0, 0, 1, 1…
## $ `revenue__-Inf_13.8327618942679`                <dbl> 0, 0, 0, 0, 0, 1, 0, 0…
## $ revenue__13.8327618942679_16.3018635779211      <dbl> 0, 0, 1, 0, 0, 0, 0, 0…
## $ revenue__16.3018635779211_17.6419756750308      <dbl> 1, 0, 0, 0, 1, 0, 0, 0…
## $ revenue__17.6419756750308_Inf                   <dbl> 0, 1, 0, 1, 0, 0, 1, 1…
## $ `runtime__-Inf_88`                              <dbl> 0, 0, 1, 0, 0, 0, 0, 0…
## $ runtime__88_96                                  <dbl> 0, 0, 0, 0, 0, 0, 0, 0…
## $ runtime__96_104                                 <dbl> 0, 1, 0, 0, 0, 1, 0, 0…
## $ runtime__104_Inf                                <dbl> 1, 0, 0, 1, 1, 0, 1, 1…
# Step 2: Correlate
data_corr_tbl2 <- data_binarized_tbl2 %>%
  correlate(vote_average__1.88706964903238_Inf)

data_corr_tbl2
## # A tibble: 31 × 3
##    feature           bin                               correlation
##    <fct>             <chr>                                   <dbl>
##  1 vote_average      1.88706964903238_Inf                    1    
##  2 vote_average      -Inf_1.68639895357023                  -0.341
##  3 vote_average      1.79175946922805_1.88706964903238      -0.319
##  4 vote_average      1.68639895357023_1.79175946922805      -0.311
##  5 runtime           104_Inf                                 0.253
##  6 vote_count        7.38274644973891_Inf                    0.219
##  7 vote_count        4.91265488573605_6.32793678372919      -0.155
##  8 runtime           88_96                                  -0.134
##  9 original_language ja                                      0.125
## 10 original_language en                                     -0.118
## # ℹ 21 more rows
# Step 3: Plot
data_corr_tbl2 %>%
  plot_correlation_funnel()
## Warning: ggrepel: 1 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps

Build Models

Split Data

set.seed(1234)
data2 <- sample_n(data2, 100)

# Split into train and testing data set
data_split2 <- rsample::initial_split(data2)
data_train2 <- training(data_split2)
data_test2 <- testing(data_split2)

# Further split training data set for cross-validation
set.seed(2345)
data_cv2 <- rsample::vfold_cv(data_train2)
data_cv2
## #  10-fold cross-validation 
## # A tibble: 10 × 2
##    splits         id    
##    <list>         <chr> 
##  1 <split [67/8]> Fold01
##  2 <split [67/8]> Fold02
##  3 <split [67/8]> Fold03
##  4 <split [67/8]> Fold04
##  5 <split [67/8]> Fold05
##  6 <split [68/7]> Fold06
##  7 <split [68/7]> Fold07
##  8 <split [68/7]> Fold08
##  9 <split [68/7]> Fold09
## 10 <split [68/7]> Fold10
library(usemodels)
## Warning: package 'usemodels' was built under R version 4.2.3
usemodels::use_xgboost(vote_average ~ ., data = data_train2)
## xgboost_recipe <- 
##   recipe(formula = vote_average ~ ., data = data_train2) %>% 
##   step_zv(all_predictors()) 
## 
## xgboost_spec <- 
##   boost_tree(trees = tune(), min_n = tune(), tree_depth = tune(), learn_rate = tune(), 
##     loss_reduction = tune(), sample_size = tune()) %>% 
##   set_mode("classification") %>% 
##   set_engine("xgboost") 
## 
## xgboost_workflow <- 
##   workflow() %>% 
##   add_recipe(xgboost_recipe) %>% 
##   add_model(xgboost_spec) 
## 
## set.seed(6804)
## xgboost_tune <-
##   tune_grid(xgboost_workflow, resamples = stop("add your rsample object"), grid = stop("add number of candidate points"))
# Specify Recipe
xgboost_recipe <- 
  recipe(formula = vote_average ~ ., data = data_train2) %>%
  update_role(id, new_role = "id variable") %>%
  step_tokenize(overview, poster_path, genre_names) %>%
  step_tokenfilter(overview, poster_path, genre_names, max_tokens = 100) %>%
  step_tfidf(overview, poster_path, genre_names) %>%
  step_other(original_title, title, original_language, status) %>%
  step_dummy(original_title, title, original_language, one_hot = TRUE) %>%
  step_YeoJohnson(popularity, vote_count, budget, revenue, runtime, vote_average) %>%
  step_rm(release_date, status, adult)

xgboost_recipe %>% prep() %>% juice() %>% glimpse()
## Warning: max_tokens was set to '100', but only 76 was available and selected.
## Warning: max_tokens was set to '100', but only 13 was available and selected.
## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value
## Rows: 75
## Columns: 202
## $ id                                                <dbl> 452343, 8852, 173897…
## $ popularity                                        <dbl> -0.4931408, 2.816377…
## $ vote_count                                        <dbl> -Inf, 6.630683, 7.87…
## $ budget                                            <dbl> 899.52634, 4182.5174…
## $ revenue                                           <dbl> 197.68245, 845.73094…
## $ runtime                                           <dbl> 3948.0788, 5854.0842…
## $ vote_average                                      <dbl> -Inf, 1.916923, 1.80…
## $ tfidf_overview_a                                  <dbl> 0.07433369, 0.202728…
## $ tfidf_overview_about                              <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_after                              <dbl> 0.07994279, 0.000000…
## $ tfidf_overview_again                              <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_against                            <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_an                                 <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_and                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_are                                <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_as                                 <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_at                                 <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_baba                               <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_overview_be                                 <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_been                               <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_begins                             <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_being                              <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_overview_body                               <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_overview_but                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_by                                 <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_charlie                            <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_overview_city                               <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_creature                           <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_dark                               <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_overview_daughter                           <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_day                                <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_overview_dead                               <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_overview_deadly                             <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_death                              <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_escape                             <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_events                             <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_evil                               <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_family                             <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_find                               <dbl> 0.10700331, 0.000000…
## $ tfidf_overview_finds                              <dbl> 0.00000000, 0.236608…
## $ tfidf_overview_first                              <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_for                                <dbl> 0.08211139, 0.000000…
## $ tfidf_overview_four                               <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_friends                            <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_from                               <dbl> 0.07790723, 0.000000…
## $ tfidf_overview_group                              <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_has                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_have                               <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_he                                 <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_her                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_him                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_his                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_house                              <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_in                                 <dbl> 0.04464717, 0.081176…
## $ tfidf_overview_into                               <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_is                                 <dbl> 0.06035465, 0.000000…
## $ tfidf_overview_it                                 <dbl> 0.00000000, 0.203053…
## $ tfidf_overview_its                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_killed                             <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_killer                             <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_overview_life                               <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_man                                <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_more                               <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_must                               <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_mysterious                         <dbl> 0.0000000, 0.2366082…
## $ tfidf_overview_new                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_night                              <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_not                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_now                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_of                                 <dbl> 0.04149531, 0.075446…
## $ tfidf_overview_old                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_on                                 <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_one                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_only                               <dbl> 0.1116796, 0.0000000…
## $ tfidf_overview_or                                 <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_out                                <dbl> 0.1230405, 0.0000000…
## $ tfidf_overview_over                               <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_own                                <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_school                             <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_she                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_something                          <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_soon                               <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_terror                             <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_that                               <dbl> 0.13570240, 0.000000…
## $ tfidf_overview_the                                <dbl> 0.00000000, 0.149145…
## $ tfidf_overview_their                              <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_them                               <dbl> 0.09905007, 0.000000…
## $ tfidf_overview_there                              <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_overview_they                               <dbl> 0.08691354, 0.000000…
## $ tfidf_overview_this                               <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_three                              <dbl> 0.1386294, 0.0000000…
## $ tfidf_overview_time                               <dbl> 0.1230405, 0.0000000…
## $ tfidf_overview_to                                 <dbl> 0.04354142, 0.000000…
## $ tfidf_overview_two                                <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_overview_up                                 <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_was                                <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_what                               <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_when                               <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_where                              <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_which                              <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_who                                <dbl> 0.08691354, 0.000000…
## $ tfidf_overview_wife                               <dbl> 0.00000000, 0.000000…
## $ tfidf_overview_will                               <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_with                               <dbl> 0.07247366, 0.000000…
## $ tfidf_overview_woman                              <dbl> 0.0000000, 0.0000000…
## $ tfidf_overview_world                              <dbl> 0.0000000, 0.2961906…
## $ tfidf_overview_years                              <dbl> 0.0000000, 0.0000000…
## $ tfidf_poster_path_2ypfs4yetjylfpzhcqsmv0nk1lw.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_3gk2zuc4ocye9jynv6f4fqabh20     <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_4gupek9ippx5kihalkj7ee7ktb4     <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_4pemuf5lkezgxgebxxmvkl5nhsw.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_4tdnepokoozwugpeoahp8ua4vqx.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_5epacimd7ca9zynib8wfibwnrcf.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_5np88iigcfnxvmlmkmccbpvibyq.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_5xsbszs5rq4vvepxymbqbpsi2md.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_5xsvggo8i12v3klpcd0r1cnhmc6     <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_6em7jm3veksw9elmajssxslywda.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_6w2gjzvowcgf0zfump97c4zx79c.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_7cgkjqlsmvcpd46mjhrhi5w54hv.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_7glpla0xppxpxbu0tny4ulqvcv1     <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_7tt8cyi6fnponeb9czln6ujifms.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_8owdbvmgdm7hwadtbdsdn6rlzqj.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_98abrzgwtngp0noay2cli7snhvb.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_9biivomtdvv4aj4a5hclmrk5ehb.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_a3s2tqgnb6mhlr1hpzee5f8iuwp.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_aa9axprkzy2yqegwvsazlpv3ief.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_ackvlwanvvvfqwro3nlxqpljcya.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_bg2wbjg5znovxznt7rarvqbxuuj.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_c4kntyhfb1sbm8orn206vlxve2n.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_cqcxg3tdafi34hdkgaa1lhv8wxj.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_cvxgyresl955wr2c8ythuxrmjrk.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_cywjgxgijrak0btemkij3gocbma.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_d3cvj8pl0qpnpa94qumsipggi2u.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_d7nugdpxpbcyxar50rw9oqtrox7     <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_dc7kolc8ovsguw607e2s7p3wlwb.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_dedly3keghkfzks5ntdwdigvikr.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_dmg1wpakqpx54ymzm0ouhn1jl42     <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_doyigwpxbbs4g2og9g8gv7zkoih.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_dttwdsbzuyas5hwdxsodjrthugi.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_dwkmwnqbsevdseugcnj8czrxrso.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_ehlykmkaeubtngvqhphauzmur8d.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_ek3dxrrmqgpz1kld9wdyoi8urfz.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_em45jl4cftmyj5v83kj7rhdorju.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_exeqkyfwzcsyybietwy189ctbdb.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_fcrnze9hvemt7t7a5au3dlxancx.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_g9i3ltmylrhvcyskimzefd1vqy7     <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_ga6nj31uruvvxf5oh6y6faqodmg.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_hgkmdkpzssptkdww8xsdtcdmy0s.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_hs6ydmvjihq737zb0xatetkt8hk.jpg <dbl> 4.330733, 0.000000, …
## $ tfidf_poster_path_jbpqpmbjbhfttjy2jonvso7a7po.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_jj9vf7gl3rlxhfoa8oq4iont8gz.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_jjcaohtgux4p8xvlvn1wxut1jwi.jpg <dbl> 0.000000, 4.330733, …
## $ tfidf_poster_path_jpcon2jyffcwnbsrme8hxkvmmrt.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_jpg                             <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_jq38xui1vozyb8gzapzwubg9dg1     <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_kc8jt1maikm0iwdjawc5lqrtnry.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_lci9isclh8cbbpnlimvukqmwiki.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_leppd0srf4ceeyzuousyfa1eghe.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_lflgkrfp9lf34zgftjngbndzod2     <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_lsijqtnkmci5zqbi7webbbig3xr.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_mbbbxseq4k4di63k06xirsc02j8     <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_mxdsswm8wyzbfq6pywbhetijk1a.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_nb9fc9inmg8kq8l7se7xtnsznux.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_ooe8qfwsvmfdlf6ftsfaqerdm8g.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_p8g1vltvpm6nr2hmmiz1fulkf0d.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_pmcupyac1vas38kjd96dh8bd0vx.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_q0bbjmtpsqf1qnzxhnc1gq4jihc.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_qhcz6ljtmqwdfxxn28tlic9oppk.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_rfpwzftqghiovfmhn00snyo2umb.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_scfds0u5uyajcvtyjnc7gmczw1q.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_ter1ru1grl5r8sigcykofztfonz.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_u2ghdfjcs3y5c8ata3coc4pwian.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_ujkbpxq1xzekby4nll8ydruuisd.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_usascd0pn3n5d6blyfdce0hrvzz.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_uwmhhtuegx7oi0fuwr2od08hrhd.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_vol6shtl0wknjais6jdkcpchvg8     <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_volu9ytqnylbafqdmfqcvno2jer.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_wda3j7p7yhxkpfilszotctp7myf.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_x2e22ivgkbcnccdcw4gg5hezrsq.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_ymvyoaaha85fgh7clkk7rimypax.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_ysipmxlvyyvtuaowesljf7nef4c.jpg <dbl> 0.000000, 0.000000, …
## $ tfidf_poster_path_yslrbb6sdqpeydttbjostaagf0z.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_poster_path_z3bibks7fksubvr2yj1vajhx7bf.jpg <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_genre_names_action                          <dbl> 0.0000000, 0.0000000…
## $ tfidf_genre_names_adventure                       <dbl> 0.0000000, 0.0000000…
## $ tfidf_genre_names_comedy                          <dbl> 0.0000000, 0.0000000…
## $ tfidf_genre_names_crime                           <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_genre_names_drama                           <dbl> 1.028226, 0.000000, …
## $ tfidf_genre_names_fantasy                         <dbl> 0.0000000, 0.0000000…
## $ tfidf_genre_names_fiction                         <dbl> 0.0000000, 0.0000000…
## $ tfidf_genre_names_horror                          <dbl> 0.3465736, 0.6931472…
## $ tfidf_genre_names_music                           <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_genre_names_mystery                         <dbl> 0.0000000, 0.0000000…
## $ tfidf_genre_names_romance                         <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ tfidf_genre_names_science                         <dbl> 0.0000000, 0.0000000…
## $ tfidf_genre_names_thriller                        <dbl> 0.0000000, 0.0000000…
## $ original_title_X.REC.                             <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ original_title_other                              <dbl> 1, 1, 1, 1, 1, 1, 1,…
## $ title_X.REC.                                      <dbl> 0, 0, 0, 0, 0, 0, 0,…
## $ title_other                                       <dbl> 1, 1, 1, 1, 1, 1, 1,…
## $ original_language_en                              <dbl> 0, 1, 1, 1, 1, 1, 1,…
## $ original_language_other                           <dbl> 1, 0, 0, 0, 0, 0, 0,…
# Specify model
xgboost_spec <- 
  boost_tree(trees = tune(), min_n = tune(), mtry = tune(), learn_rate = tune()) %>%
  set_mode("regression") %>% 
  set_engine("xgboost") 

# Combine recipe and model using workflow
xgboost_workflow <- 
  workflow() %>% 
  add_recipe(xgboost_recipe) %>% 
  add_model(xgboost_spec) 

# Tune hyperparameters
set.seed(6804)
xgboost_tune <-
  tune_grid(xgboost_workflow, resamples = data_cv2, grid = 5)
## i Creating pre-processing data to finalize unknown parameter: mtry
## Warning: max_tokens was set to '100', but only 76 was available and selected.
## Warning: max_tokens was set to '100', but only 13 was available and selected.
## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value

## Warning in optimize(yj_obj, interval = limits, maximum = TRUE, dat = dat, :
## NA/Inf replaced by maximum positive value
## → A | warning: max_tokens was set to '100', but only 68 was available and selected., max_tokens was set to '100', but only 13 was available and selected., NA/Inf replaced by maximum positive value
## 
There were issues with some computations   A: x1

                                                 
→ B | error:   [11:26:18] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x1

There were issues with some computations   A: x1   B: x1

                                                         
→ C | error:   [11:26:19] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x1   B: x1

There were issues with some computations   A: x1   B: x1   C: x1

There were issues with some computations   A: x1   B: x1   C: x2

                                                                 
→ D | error:   [11:26:20] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x1   B: x1   C: x2

There were issues with some computations   A: x1   B: x1   C: x2   D: x1

                                                                         
→ E | error:   [11:26:21] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x1   B: x1   C: x2   D: x1

There were issues with some computations   A: x1   B: x1   C: x2   D: x1   E: x1

There were issues with some computations   A: x2   B: x1   C: x2   D: x1   E: x1

                                                                                 
→ F | error:   [11:26:24] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x2   B: x1   C: x2   D: x1   E: x1

There were issues with some computations   A: x2   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ G | error:   [11:26:25] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x2   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x2   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ H | error:   [11:26:26] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x2   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x2   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ I | error:   [11:26:27] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x2   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x2   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x2   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ J | error:   [11:26:30] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ K | error:   [11:26:31] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ L | error:   [11:26:32] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ M | error:   [11:26:33] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ N | error:   [11:26:34] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ O | warning: max_tokens was set to '100', but only 68 was available and selected., max_tokens was set to '100', but only 12 was available and selected., NA/Inf replaced by maximum positive value
## There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ P | error:   [11:26:37] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ Q | error:   [11:26:38] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ R | error:   [11:26:39] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ S | error:   [11:26:40] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ T | error:   [11:26:41] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x3   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ U | error:   [11:26:44] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ V | error:   [11:26:45] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ W | error:   [11:26:46] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ X | error:   [11:26:47] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ Y | error:   [11:26:48] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ Z | warning: max_tokens was set to '100', but only 69 was available and selected., max_tokens was set to '100', but only 13 was available and selected., NA/Inf replaced by maximum positive value
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ a | error:   [11:26:51] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ b | error:   [11:26:52] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ c | error:   [11:26:53] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ d | error:   [11:26:54] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ e | error:   [11:26:55] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ f | error:   [11:26:58] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ g | error:   [11:26:59] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ h | error:   [11:27:00] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ i | error:   [11:27:01] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ j | error:   [11:27:02] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ k | error:   [11:27:05] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ l | error:   [11:27:06] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ m | error:   [11:27:07] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ n | error:   [11:27:08] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ o | error:   [11:27:09] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ p | error:   [11:27:13] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ q | error:   [11:27:14] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ r | error:   [11:27:15] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ s | error:   [11:27:16] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ t | error:   [11:27:17] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ u | error:   [11:27:20] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ v | error:   [11:27:21] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ w | error:   [11:27:22] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ x | error:   [11:27:23] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

                                                                                 
→ y | error:   [11:27:24] src/data/data.cc:1104: Check failed: valid: Input data contains `inf` or `nan`
## There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…

There were issues with some computations   A: x4   B: x1   C: x2   D: x1   E: x…
## Warning: All models failed. Run `show_notes(.Last.tune.result)` for more
## information.

Evaluate Models

Make Predictions