forked from glep/pricing_game_submit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrain.R
42 lines (32 loc) · 1.02 KB
/
train.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
source("model.R") # Load your code.
# This script expects the dataset as a sys.args argument.
input_dataset = 'training.csv' # The default value.
args = commandArgs(trailingOnly=TRUE)
if (length(args) >= 1) {
input_dataset = args[1]
}
# Load the dataset.
train_data = read.csv(input_dataset) %>% as_tibble()
# Run only to quickly test the code on a small sample
if (FALSE) {
full_data <- train_data
train_data <- train_data %>%
inner_join(train_data %>% distinct(id_policy) %>% slice_sample(n = 1e4))
# train_data <- full_data
}
# Create a model, train it, then save it.
Xdata = within(train_data, rm('claim_amount'))
ydata = train_data['claim_amount']
x_raw = Xdata
y_raw = ydata
model = fit_model(x_raw = Xdata, y_raw = ydata)
save_model(model)
switch_3years <- FALSE
if (switch_3years) {
model2 <-
fit_model(
x_raw = train_data %>% filter(year <= 3) %>% select(-claim_amount),
y_raw = train_data %>% filter(year <= 3) %>% select(claim_amount)
)
write_rds(model2, file = "trained_model3.RDS")
}