View source: R/bm_FindOptimStat.R
bm_FindOptimStat | R Documentation |
This internal biomod2 function allows the user to find the threshold to convert continuous values into binary ones leading to the best score for a given evaluation metric.
bm_FindOptimStat(
metric.eval = "TSS",
obs,
fit,
nb.thresh = 100,
threshold = NULL
)
get_optim_value(metric.eval)
bm_CalculateStat(misc, metric.eval = "TSS")
metric.eval |
a |
obs |
a |
fit |
a |
nb.thresh |
an |
threshold |
(optional, default |
misc |
a |
Please refer to BIOMOD_Modeling
to get more information about these
evaluation metrics.
Note that if a value is given to threshold
, no optimisation will be done., and
only the score for this threshold will be returned.
A 1
row x 5
columns data.frame
containing :
metric.eval
: the chosen evaluation metric
cutoff
: the associated cut-off used to transform the continuous values into
binary
sensitivity
: the sensibility obtained on fitted values with this threshold
specificity
: the specificity obtained on fitted values with this threshold
best.stat
: the best score obtained for the chosen evaluation metric
Damien Georges
BIOMOD_Modeling
, bm_RunModelsLoop
,
BIOMOD_EnsembleModeling
Other Secundary functions:
bm_BinaryTransformation()
,
bm_CVnnet()
,
bm_CrossValidation()
,
bm_MakeFormula()
,
bm_PlotEvalBoxplot()
,
bm_PlotEvalMean()
,
bm_PlotRangeSize()
,
bm_PlotResponseCurves()
,
bm_PlotVarImpBoxplot()
,
bm_PseudoAbsences()
,
bm_RunModelsLoop()
,
bm_SRE()
,
bm_SampleBinaryVector()
,
bm_SampleFactorLevels()
,
bm_VariablesImportance()
## Generate a binary vector
vec.a <- sample(c(0, 1), 100, replace = TRUE)
## Generate a 0-1000 vector (random drawing)
vec.b <- runif(100, min = 0, max = 1000)
## Generate a 0-1000 vector (biased drawing)
BiasedDrawing <- function(x, m1 = 300, sd1 = 200, m2 = 700, sd2 = 200) {
return(ifelse(x < 0.5, rnorm(1, m1, sd1), rnorm(1, m2, sd2)))
}
vec.c <- sapply(vec.a, BiasedDrawing)
vec.c[which(vec.c < 0)] <- 0
vec.c[which(vec.c > 1000)] <- 1000
## Find optimal threshold for a specific evaluation metric
bm_FindOptimStat(metric.eval = 'TSS', fit = vec.b, obs = vec.a)
bm_FindOptimStat(metric.eval = 'TSS', fit = vec.c, obs = vec.a, nb.thresh = 100)
bm_FindOptimStat(metric.eval = 'TSS', fit = vec.c, obs = vec.a, threshold = 280)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.