library(here)
## here() starts at /home/ana/repos/2021-tesis-experimentos
source(here("utils","dataset.R"))
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ranger)
library(dplyr)
library(pROC)
## Type 'citation("pROC")' for a citation.
## 
## Attaching package: 'pROC'
## The following objects are masked from 'package:stats':
## 
##     cov, smooth, var
porc_train = 0.68

Junin

Mejor modelo para Junín es aquel en que contiene sus variables y las de Tunuyán.

dataset <- get_dataset_for_classification_all("junin")
## Warning: Missing column names filled in: 'X1' [1]
#' filtro Tunuyan quien más ayuda
dataset <- dataset %>% select(starts_with("junin") | starts_with("tunuyan")| starts_with("tmin"))

set.seed(852)
until <- round(nrow(dataset)*porc_train)
train_set = dataset[1:until-1, ] 
test_set = dataset[until:nrow(dataset), ]

# random forest
rf.fit <- ranger(tmin ~ ., data = train_set,probability = TRUE)
pred.rf <- predict(rf.fit,test_set)

r <- roc(test_set$tmin,pred.rf$predictions[,1])
## Setting levels: control = helada, case = no-helada
## Setting direction: controls > cases
plot(r,print.auc=TRUE,print.thres=TRUE)

Tunuyán

dataset <- get_dataset_for_classification_all("tunuyan")
## Warning: Missing column names filled in: 'X1' [1]
#' filtro Tunuyan quien más ayuda
dataset <- dataset %>% select(starts_with("junin") | starts_with("tunuyan")| starts_with("tmin"))

set.seed(852)
until <- round(nrow(dataset)*porc_train)
train_set = dataset[1:until-1, ] 
test_set = dataset[until:nrow(dataset), ]

# random forest
rf.fit <- ranger(tmin ~ ., data = train_set,probability = TRUE)
pred.rf <- predict(rf.fit,test_set)

r <- roc(test_set$tmin,pred.rf$predictions[,1])
## Setting levels: control = helada, case = no-helada
## Setting direction: controls > cases
plot(r,print.auc=TRUE,print.thres=TRUE,grid=c(0.1, 0.1))

Agua amarga

dataset <- get_dataset_for_classification_all("agua_amarga")
## Warning: Missing column names filled in: 'X1' [1]
#' filtro Tunuyan quien más ayuda
dataset <- dataset %>% select(starts_with("junin") | starts_with("la_llave")| starts_with("agua_amarga")| starts_with("tmin"))

set.seed(852)
until <- round(nrow(dataset)*porc_train)
train_set = dataset[1:until-1, ] 
test_set = dataset[until:nrow(dataset), ]

# random forest
rf.fit <- ranger(tmin ~ ., data = train_set,probability = TRUE)
pred.rf <- predict(rf.fit,test_set)

r <- roc(test_set$tmin,pred.rf$predictions[,1])
## Setting levels: control = helada, case = no-helada
## Setting direction: controls > cases
plot(r,print.auc=TRUE,print.thres=TRUE,grid=c(0.1, 0.1))

Las Paredes

dataset <- get_dataset_for_classification_all("las_paredes")
## Warning: Missing column names filled in: 'X1' [1]
#' filtro Tunuyan quien más ayuda
dataset <- dataset %>% select(starts_with("las_paredes") | starts_with("tunuyan")| starts_with("agua_amarga")| starts_with("tmin"))

set.seed(852)
until <- round(nrow(dataset)*porc_train)
train_set = dataset[1:until-1, ] 
test_set = dataset[until:nrow(dataset), ]

# random forest
rf.fit <- ranger(tmin ~ ., data = train_set,probability = TRUE)
pred.rf <- predict(rf.fit,test_set)

r <- roc(test_set$tmin,pred.rf$predictions[,1])
## Setting levels: control = helada, case = no-helada
## Setting direction: controls > cases
plot(r,print.auc=TRUE,print.thres=TRUE,grid=c(0.1, 0.1))

La LLave

dataset <- get_dataset_for_classification_all("la_llave")
## Warning: Missing column names filled in: 'X1' [1]
#' filtro Tunuyan quien más ayuda
dataset <- dataset %>% select(starts_with("la_llave") | starts_with("junin")| starts_with("agua_amarga")| starts_with("tmin"))

set.seed(852)
until <- round(nrow(dataset)*porc_train)
train_set = dataset[1:until-1, ] 
test_set = dataset[until:nrow(dataset), ]

# random forest
rf.fit <- ranger(tmin ~ ., data = train_set,probability = TRUE)
pred.rf <- predict(rf.fit,test_set)

r <- roc(test_set$tmin,pred.rf$predictions[,1])
## Setting levels: control = helada, case = no-helada
## Setting direction: controls > cases
plot(r,print.auc=TRUE,print.thres=TRUE,grid=c(0.1, 0.1))