Communicates with EWSNet (https://ewsnet.github.io), a deep learning framework for modelling and anticipating regime shifts in dynamical systems, and finetunes the model to match the inputted training data. This overwrites the Pretrained weights bundled with `EWSmethods`

. See `reset_ewsnet()`

on how to reset these trained weights.

## Usage

```
ewsnet_finetune(
x,
y,
scaling = TRUE,
envname,
weights_path = default_weights_path()
)
```

## Arguments

- x
A numeric matrix to finetune EWSNet on. Each column represents a separate timeseries and each row is a timestep.

- y
A numeric vector consisting of target labels for each training time series. Labels include: 0 (no transition), 1 (smooth transition) or 2 (critical transition).

- scaling
Boolean. If

`TRUE`

, the time series will be scaled between 1 and 2 and scaled EWSNet model weights will be used. This is the recommended setting.- envname
A string naming the Python environment prepared by

`ewsnet_init()`

.- weights_path
A string naming the path to model weights installed by

`ewsnet_reset()`

.

## Examples

```
#Activate python environment (only necessary
#on first opening of R session).
if (FALSE) { # \dontrun{
ewsnet_init(envname = "EWSNET_env")
} # }
#A dummy dataset of a hedgerow bird population
#monitored over 50 years that needs to be tuned.
abundance_data <- data.frame(time = seq(1:50),
abundance = rnorm(50,mean = 20))
#Generate training data (this is random data as
#an example).
x <- matrix(nrow = 50, ncol = 10)
x <- sapply(1:dim(x)[2], function(i){
x[,i] <- rnorm(50,mean=20,sd=10)})
#Label each time series.
y <- sample(0:2,10,replace = TRUE)
#Finetune EWSNet.
if (FALSE) { # \dontrun{
ewsnet_finetune(
x = x,
y = y,
scaling = TRUE,
envname = "EWSNET_env")
} # }
#Generate new EWSNet predictions.
if (FALSE) { # \dontrun{
pred <- ewsnet_predict(
abundance_data$abundance,
scaling = TRUE,
ensemble = 15,
envname = "EWSNET_env")
} # }
```