#install.packages("mice")
#install.packages("tidyverse")
#install.packages("readxl")
#install.packages("caret")
#install.packages("e1071")
#install.packages("glmnet")
#install.packages("MLmetrics")
#install.packages("caretEnsemble")
#install.packages("kernlab")
#install.packages("xgboost")
#install.packages("fastDummies")
#install.packages("devtools")
#install.packages("pROC")
#install.packages("plotly")
#install.packages("tidymodels")
#install.packages("multiROC")
library(plotly)
library(tidymodels)
library(pROC)
library(devtools)
library(multiROC)
library(mice)
library(tidyverse)
library(readxl)
library(caret)
library(e1071)
library(glmnet)
library(MLmetrics)
library(caretEnsemble)
library(kernlab)
library(xgboost)
library(fastDummies)Short introduction on the theme
The genus Enyalius (WAGLER 1830) comprises eleven species of Neotropical leiosaurids. Enyalius lizards are medium-sized, robust, arboreal, and semi-arboreal, associated with Brazilian tropical and subtropical forests (Rodrigues et al., 2006). While the taxonomy of Enyalius has been relatively stable, the true diversity of the genus remains underestimated (Rodrigues et al., 2014). The most recent taxonomic revisions by Etheridge (1969) and Jackson (1978) provided modern diagnoses and precise descriptions. However, finding diagnostic morphological characters for this genus remains challenging due to high overlap in the statistical parameters of these characters (Breitman et al., 2018; Rodrigues et al., 2006). Until 2018, 10 species were described, when Breitman et al. (2018) introduced Enyalius capetinga. The currently recognized species are: E. bilineatus, E. brasiliensis, E. boulengeri, E. iheringii, E. perditus, and E. pictus (mainly in the Atlantic Forest); E. erythroceneus (Caatinga); E. leechii (Amazon); E. catenatus and E. bibronii (Atlantic Forest and Caatinga); and E. capetinga (endemic to the Cerrado).
Traditionally, multivariate analyses like linear discriminant function analysis are used to classify and predict group membership (Quinn & Keough, 2002). However, as Domingos et al. (2014) noted, these strategies may not be ideal for certain biological sample types. They employed a support-vector machine approach for cryptic species clades, achieving high predictive power. Similarly, Breitman et al. (2018) used the Random Forest algorithm to distinguish species morphologically, achieving better statistical performance than classic multivariate analyses. Within this context, the primary aim of this study is to compare the performance of various machine learning algorithms in the morphological diagnosis of Enyalius lizards. More specifically, we also aim to: 1) compare the performance of algorithms with different mathematical properties to identify the most effective for extracting diagnostic information; 2) re-evaluate the data analyzed by Breitman et al. (2018) to determine if Random Forest was the optimal predictive model compared to other algorithms; 3) identify which Enyalius species are most difficult to diagnose based on the accuracy of the machine learning algorithms.
BREITMAN, M. F., et al. (2018). A New Species of Enyalius (Squamata, Leiosauridae) Endemic to the Brazilian Cerrado. Herpetologica, 74(4), 14. DOI: https://doi.org/10.1655/0018-0831.355
DOMINGOS, F. M. C. B., et al. (2014). Out of the deep - Cryptic speciation in a Neotropical gecko (Squamata, Phyllodactylidae) revealed by species delimitation methods. Molecular Phylogenetics and Evolution, 80, 12. DOI: http://dx.doi.org/10.1016/j.ympev.2014.07.022
ETHERIDGE, R. E. (1969). A review of the Iguanid lizard genus Enyalius. Bulletin of the British Museum (Natural History)(18), 27.
JACKSON, J. F. (1978). Differentiation in the genera Enyalius and Strobilurus (Iguanidae): implications for pleistocene climatic changes in Eastern Brazil Arquivos de Zoologia, 30(1), 79. DOI: https://doi.org/10.11606/issn.2176-7793.v30i1p1-79
QUINN, G. P., ; KEOUGH, M. J. (2002). Experimental Design and Analysis for Biologists: Cambridge University Press.
RODRIGUES, M. T., et al. (2006). A new species of lizard genus Enyalius (Squamata, Leiosauridae) from the highlands of Chapada Diamantina, state of Bahia, Brazil, with a key to species. Phyllomedusa, 5(1), 14. DOI: https://doi.org/10.11606/issn.2316-9079.v5i1p11-24
RODRIGUES, M. T., et al. (2014). Molecular phylogeny, species limits, and biogeography of the Brazilian 4 endemic lizard genus Enyalius (Squamata: Leiosauridae): An example 5 of the historical relationship between Atlantic Forests and Amazonia. Molecular Phylogenetics and Evolution, 10. DOI: http://dx.doi.org/10.1016/j.ympev.2014.07.019
Installing and loading necessary packages
Loading the data set
# Setting working directory
setwd("C:/Users/User/OneDrive/projeto_tropidurus") #change it according to your specific path
# Importing our lizard data set
data_enyalius <- read_xlsx("herp-74-04-335_s02-edit.xlsx",
sheet = "Morphological data set",
range = NULL,
col_names = TRUE,
col_types = c("text","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","text","numeric","numeric","numeric","numeric","numeric","numeric"),
na = "NA")
class(data_enyalius)[1] "tbl_df" "tbl" "data.frame"
str(data_enyalius)tibble [259 x 48] (S3: tbl_df/tbl/data.frame)
$ final_species_name: chr [1:259] "bad_sample" "bad_sample" "bad_sample" "E_bibronii" ...
$ Cro : num [1:259] 1 0 1 1 1 1 1 1 1 0 ...
$ A : num [1:259] 1 1 1 1 1 1 1 1 1 1 ...
$ SpC : num [1:259] 1 1 1 1 0 1 1 1 1 1 ...
$ InC : num [1:259] 0 1 0 0 0 0 0 0 0 0 ...
$ InB : num [1:259] 1 1 1 0 0 0 1 0 0 0 ...
$ SpF : num [1:259] 1 1 1 0 0 1 1 0 1 1 ...
$ DCS : num [1:259] 0 1 1 0 1 1 0 0 1 1 ...
$ PVS : num [1:259] 2 3 3 2 3 2 2 2 3 2 ...
$ DS : num [1:259] 2 1 1 0 1 0 2 0 1 2 ...
$ LS : num [1:259] 0 1 1 1 0 0 0 0 0 0 ...
$ VnS : num [1:259] 1 1 0 0 0 0 0 0 0 0 ...
$ NPRC : num [1:259] 0 0 0 0 0 0 0 1 0 0 ...
$ SbO : num [1:259] 0 1 NA 0 1 1 1 1 1 1 ...
$ GF : num [1:259] 1 1 1 1 1 1 1 1 1 1 ...
$ EGFS : num [1:259] 1 1 0 0 0 0 0 0 0 0 ...
$ DHS : num [1:259] 1 1 0 0 1 1 0 0 1 1 ...
$ M : num [1:259] 0 1 0 0 1 1 0 0 1 1 ...
$ TL4 : num [1:259] 0 0 0 0 0 0 0 0 0 0 ...
$ FL4 : num [1:259] 0 0 0 0 0 0 0 0 0 0 ...
$ DC : num [1:259] 1 1 1 1 1 1 1 1 1 1 ...
$ nPVS : num [1:259] NA 85 75 81 77 78 81 91 87 86 ...
$ nMS : num [1:259] NA 71 59 55 60 57 54 59 59 59 ...
$ nVrS : num [1:259] NA 53 59 57 56 58 58 56 61 64 ...
$ nVnS : num [1:259] NA 44 44 48 46 50 46 50 55 48 ...
$ nInL : num [1:259] 8 10 10 10 8 10 10 12 9 9 ...
$ nPM : num [1:259] 3 4 2 2 2 2 2 2 2 2 ...
$ ncPM : num [1:259] 7 9 7 6 6 6 7 7 8 7 ...
$ nGS : num [1:259] 27 54 37 40 36 37 37 40 40 38 ...
$ nCRo : num [1:259] 4 5 4 4 4 4 5 4 5 4 ...
$ nbNSpL : num [1:259] 1 1 1 1 2 1 1 1 1 3 ...
$ nLS : num [1:259] 4 7 5 5 7 6 5 7 6 6 ...
$ ncIp : num [1:259] 7 10 NA 10 8 8 10 9 9 10 ...
$ nbCoA : num [1:259] 4 4 3 3 2 2 2 2 1 2 ...
$ nSpL : num [1:259] 5 11 10 11 11 11 10 11 11 9 ...
$ nPR : num [1:259] 8 6 6 7 8 7 8 6 5 7 ...
$ nSbO : num [1:259] 12 20 NA 14 12 15 13 14 17 11 ...
$ nSpC : num [1:259] 7 11 NA 10 10 12 9 11 11 11 ...
$ nbSbOSpL : num [1:259] 1 1 NA 1 1 1 1 1 2 1 ...
$ TL : num [1:259] NA 182 197 134 NA 205 149 169 213 224 ...
$ SVL : num [1:259] NA 94 90 67 118 105 67 80 97 120 ...
$ sex : chr [1:259] NA NA NA NA ...
$ n4TL : num [1:259] NA 34 33 33 28 34 32 30 30 31 ...
$ n4FL : num [1:259] NA 24 22 19 17 22 21 19 21 20 ...
$ nS4FL : num [1:259] NA 0 3 4 2 2 4 3 3 4 ...
$ nDlT : num [1:259] NA 12 14 12 11 13 12 11 12 13 ...
$ nArT : num [1:259] NA 39 41 38 38 43 34 39 37 43 ...
$ nAlT : num [1:259] NA NA NA NA NA 117 NA 148 152 145 ...
# Transforming 'species name' and 'sex' into factors
data_enyalius$final_species_name <- as.factor(data_enyalius$final_species_name)
data_enyalius$sex <- as.factor(data_enyalius$sex)
# Transforming binary categories into factors
data_enyalius[,2:21] <- lapply(data_enyalius[,2:21] , factor)
str(data_enyalius)tibble [259 x 48] (S3: tbl_df/tbl/data.frame)
$ final_species_name: Factor w/ 15 levels "bad_sample","E_bibronii",..: 1 1 1 2 2 2 2 2 2 2 ...
$ Cro : Factor w/ 2 levels "0","1": 2 1 2 2 2 2 2 2 2 1 ...
$ A : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ SpC : Factor w/ 2 levels "0","1": 2 2 2 2 1 2 2 2 2 2 ...
$ InC : Factor w/ 2 levels "0","1": 1 2 1 1 1 1 1 1 1 1 ...
$ InB : Factor w/ 3 levels "0","1","2": 2 2 2 1 1 1 2 1 1 1 ...
$ SpF : Factor w/ 2 levels "0","1": 2 2 2 1 1 2 2 1 2 2 ...
$ DCS : Factor w/ 4 levels "0","1","2","3": 1 2 2 1 2 2 1 1 2 2 ...
$ PVS : Factor w/ 3 levels "2","3","4": 1 2 2 1 2 1 1 1 2 1 ...
$ DS : Factor w/ 3 levels "0","1","2": 3 2 2 1 2 1 3 1 2 3 ...
$ LS : Factor w/ 3 levels "0","1","2": 1 2 2 2 1 1 1 1 1 1 ...
$ VnS : Factor w/ 2 levels "0","1": 2 2 1 1 1 1 1 1 1 1 ...
$ NPRC : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 2 1 1 ...
$ SbO : Factor w/ 2 levels "0","1": 1 2 NA 1 2 2 2 2 2 2 ...
$ GF : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ EGFS : Factor w/ 2 levels "0","1": 2 2 1 1 1 1 1 1 1 1 ...
$ DHS : Factor w/ 2 levels "0","1": 2 2 1 1 2 2 1 1 2 2 ...
$ M : Factor w/ 2 levels "0","1": 1 2 1 1 2 2 1 1 2 2 ...
$ TL4 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ FL4 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ DC : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ nPVS : num [1:259] NA 85 75 81 77 78 81 91 87 86 ...
$ nMS : num [1:259] NA 71 59 55 60 57 54 59 59 59 ...
$ nVrS : num [1:259] NA 53 59 57 56 58 58 56 61 64 ...
$ nVnS : num [1:259] NA 44 44 48 46 50 46 50 55 48 ...
$ nInL : num [1:259] 8 10 10 10 8 10 10 12 9 9 ...
$ nPM : num [1:259] 3 4 2 2 2 2 2 2 2 2 ...
$ ncPM : num [1:259] 7 9 7 6 6 6 7 7 8 7 ...
$ nGS : num [1:259] 27 54 37 40 36 37 37 40 40 38 ...
$ nCRo : num [1:259] 4 5 4 4 4 4 5 4 5 4 ...
$ nbNSpL : num [1:259] 1 1 1 1 2 1 1 1 1 3 ...
$ nLS : num [1:259] 4 7 5 5 7 6 5 7 6 6 ...
$ ncIp : num [1:259] 7 10 NA 10 8 8 10 9 9 10 ...
$ nbCoA : num [1:259] 4 4 3 3 2 2 2 2 1 2 ...
$ nSpL : num [1:259] 5 11 10 11 11 11 10 11 11 9 ...
$ nPR : num [1:259] 8 6 6 7 8 7 8 6 5 7 ...
$ nSbO : num [1:259] 12 20 NA 14 12 15 13 14 17 11 ...
$ nSpC : num [1:259] 7 11 NA 10 10 12 9 11 11 11 ...
$ nbSbOSpL : num [1:259] 1 1 NA 1 1 1 1 1 2 1 ...
$ TL : num [1:259] NA 182 197 134 NA 205 149 169 213 224 ...
$ SVL : num [1:259] NA 94 90 67 118 105 67 80 97 120 ...
$ sex : Factor w/ 2 levels "F","M": NA NA NA NA NA NA NA NA NA NA ...
$ n4TL : num [1:259] NA 34 33 33 28 34 32 30 30 31 ...
$ n4FL : num [1:259] NA 24 22 19 17 22 21 19 21 20 ...
$ nS4FL : num [1:259] NA 0 3 4 2 2 4 3 3 4 ...
$ nDlT : num [1:259] NA 12 14 12 11 13 12 11 12 13 ...
$ nArT : num [1:259] NA 39 41 38 38 43 34 39 37 43 ...
$ nAlT : num [1:259] NA NA NA NA NA 117 NA 148 152 145 ...
data_enyalius_edit <- droplevels(data_enyalius[!data_enyalius$final_species_name == "bad_sample",])
data_enyalius_edit <- droplevels(data_enyalius_edit[!data_enyalius_edit$final_species_name == "unknown",])
keeps <- c("NPRC", "GF", "EGFS", "DHS", "TL4",
"FL4", "nPVS", "nMS", "nVrS", "nVnS",
"nPM", "ncPM", "nCRo", "nbNSpL", "ncIp",
"nbCoA", "nSbO", "nSpC", "TL", "n4TL",
"nArT", "final_species_name")
data_enyalius_edit <- data_enyalius_edit[ ,keeps, drop = TRUE]
str(data_enyalius_edit)tibble [228 x 22] (S3: tbl_df/tbl/data.frame)
$ NPRC : Factor w/ 2 levels "0","1": 1 1 1 1 2 1 1 1 1 1 ...
$ GF : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ EGFS : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 2 1 1 ...
$ DHS : Factor w/ 2 levels "0","1": 1 2 2 1 1 2 2 1 1 1 ...
$ TL4 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ FL4 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ nPVS : num [1:228] 81 77 78 81 91 87 86 77 96 82 ...
$ nMS : num [1:228] 55 60 57 54 59 59 59 60 58 57 ...
$ nVrS : num [1:228] 57 56 58 58 56 61 64 55 60 58 ...
$ nVnS : num [1:228] 48 46 50 46 50 55 48 46 51 43 ...
$ nPM : num [1:228] 2 2 2 2 2 2 2 2 2 2 ...
$ ncPM : num [1:228] 6 6 6 7 7 8 7 7 7 7 ...
$ nCRo : num [1:228] 4 4 4 5 4 5 4 4 4 5 ...
$ nbNSpL : num [1:228] 1 2 1 1 1 1 3 1 1 1 ...
$ ncIp : num [1:228] 10 8 8 10 9 9 10 7 8 9 ...
$ nbCoA : num [1:228] 3 2 2 2 2 1 2 2 2 3 ...
$ nSbO : num [1:228] 14 12 15 13 14 17 11 11 14 13 ...
$ nSpC : num [1:228] 10 10 12 9 11 11 11 10 11 10 ...
$ TL : num [1:228] 134 NA 205 149 169 213 224 155 213 71 ...
$ n4TL : num [1:228] 33 28 34 32 30 30 31 31 30 27 ...
$ nArT : num [1:228] 38 38 43 34 39 37 43 43 44 34 ...
$ final_species_name: Factor w/ 13 levels "E_bibronii","E_bilineatus",..: 1 1 1 1 1 1 1 1 1 1 ...
### FABRICIUS VERIFICAR AQUI SE TODAS AS VARI�VEIS IMPORTANTES CONSTAM NA PLANILHA FINALMultiple imputation of missing data with mice
# Plotting NA's
md.pattern(data_enyalius_edit, rotate.names = TRUE) final_species_name NPRC FL4 nPVS nMS nVrS nPM ncPM nCRo nbCoA nSpC n4TL DHS
174 1 1 1 1 1 1 1 1 1 1 1 1 1
19 1 1 1 1 1 1 1 1 1 1 1 1 1
12 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
5 1 1 1 1 1 1 1 1 1 1 1 1 1
4 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 1 1 1 0 0 1 0
1 1 1 1 1 1 1 1 1 0 1 1 1 1
1 1 1 1 1 1 1 0 0 1 1 1 1 1
1 1 1 1 0 0 0 1 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 2
TL4 nbNSpL nSbO nVnS ncIp nArT GF TL EGFS
174 1 1 1 1 1 1 1 1 1 0
19 1 1 1 1 1 1 1 1 0 1
12 1 1 1 1 1 1 1 0 1 1
1 1 1 1 1 1 1 1 0 0 2
5 1 1 1 1 1 1 0 1 0 2
4 1 1 1 1 1 0 1 1 1 1
1 1 1 1 1 1 0 1 1 0 2
1 1 1 1 1 0 1 1 1 1 1
1 1 1 1 0 1 1 0 0 0 4
1 1 1 0 1 0 1 1 1 1 2
1 0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 0 2
1 0 1 1 1 1 1 1 1 0 3
1 1 1 0 1 0 1 1 1 1 5
1 1 0 1 1 1 1 0 1 0 4
1 1 1 1 1 1 1 1 1 1 2
1 1 1 1 0 1 1 1 1 1 4
1 1 1 1 1 1 1 1 1 1 1
1 1 0 1 0 1 1 1 1 1 3
2 2 2 3 3 5 7 14 30 81
# Multiple imputation
imp <- mice(data_enyalius_edit,
method = c("rf","rf","rf","rf","rf","rf","rf","rf","rf","rf",
"rf","rf","rf","rf","rf","rf","rf","rf","rf","rf",
"rf","rf"),
maxit = 10, m = 10, print = FALSE, seed = 42)
# Listing the algorithms used for each trait
imp$meth NPRC GF EGFS DHS
"rf" "rf" "rf" "rf"
TL4 FL4 nPVS nMS
"rf" "rf" "rf" "rf"
nVrS nVnS nPM ncPM
"rf" "rf" "rf" "rf"
nCRo nbNSpL ncIp nbCoA
"rf" "rf" "rf" "rf"
nSbO nSpC TL n4TL
"rf" "rf" "rf" "rf"
nArT final_species_name
"rf" ""
# Inspecting the quality of specific imputations
stripplot(imp, n4TL, pch = 20, xlab = "Imputation number", cex = 2)# Prediction matrix
pred_matrix <- imp$pred
# Analyzing the convergence of imputations (the more lines are shuffled the better)
plot(imp)# Exploring the matrix with imputed data
data_enyalius_imp <- complete(imp, 5)
md.pattern(data_enyalius_imp, rotate.names = TRUE) /\ /\
{ `---' }
{ O O }
==> V <== No need for mice. This data set is completely observed.
\ \|/ /
`-----'
NPRC GF EGFS DHS TL4 FL4 nPVS nMS nVrS nVnS nPM ncPM nCRo nbNSpL ncIp nbCoA
228 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
nSbO nSpC TL n4TL nArT final_species_name
228 1 1 1 1 1 1 0
0 0 0 0 0 0 0
Processing data set
# Partitioning the data into training and test sets (0.7 and 0.3)
set.seed(42)
trainIndex <- createDataPartition(data_enyalius_imp$final_species_name,
p = 0.7,
list = FALSE)
trainingSet <- data_enyalius_imp[trainIndex,]
testSet <- data_enyalius_imp[-trainIndex,]
# One hot encoding and creating a matrix only with the predictors, omitting the response variable.
dummyModel <- dummyVars(~ ., data = trainingSet)
dummyModel Dummy Variable Object
Formula: ~.
22 variables, 7 factors
Variables and levels will be separated by '.'
A less than full rank encoding is used
trainingSetX <- as.data.frame(predict(dummyModel, newdata = trainingSet))
# Transforming the variables into values from 0 to 1, standardizing in z-scores.
rangeModel <- preProcess(trainingSetX, method = "range")
trainingSetX <- predict(rangeModel, newdata = trainingSetX)
# Adding the response variable to the training set
trainingSet <- cbind(trainingSet$final_species_name, trainingSetX)
names(trainingSet)[1] <- "final_species_name"
# Doing the same procedures with the test set
testSet_dummy <- predict(dummyModel, testSet)
testSet_range <- predict(rangeModel, testSet_dummy)
testSet_range <- data.frame(testSet_range)
testSet <- cbind(testSet$final_species_name, testSet_range)
names(testSet) <- names(trainingSet)
testSet$final_species_name <- as.factor(testSet$final_species_name)
trainingSet_final <- trainingSet[,-c(29:41)]
trainingSet_final[,2:13] <- lapply(trainingSet_final[,2:13] , factor)
str(trainingSet_final)'data.frame': 167 obs. of 28 variables:
$ final_species_name: Factor w/ 13 levels "E_bibronii","E_bilineatus",..: 1 1 1 1 1 1 1 1 1 1 ...
$ NPRC.0 : Factor w/ 2 levels "0","1": 2 2 2 1 2 2 2 2 2 2 ...
$ NPRC.1 : Factor w/ 2 levels "0","1": 1 1 1 2 1 1 1 1 1 1 ...
$ GF.0 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ GF.1 : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ EGFS.0 : Factor w/ 2 levels "0","1": 2 2 2 2 2 1 2 2 2 2 ...
$ EGFS.1 : Factor w/ 2 levels "0","1": 1 1 1 1 1 2 1 1 1 1 ...
$ DHS.0 : Factor w/ 2 levels "0","1": 2 1 2 2 1 2 2 2 1 2 ...
$ DHS.1 : Factor w/ 2 levels "0","1": 1 2 1 1 2 1 1 1 2 1 ...
$ TL4.0 : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ TL4.1 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ FL4.0 : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ FL4.1 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ nPVS : num 0.476 0.413 0.476 0.635 0.556 ...
$ nMS : num 0.372 0.488 0.349 0.465 0.465 ...
$ nVrS : num 0.11 0.102 0.119 0.102 0.169 ...
$ nVnS : num 0.528 0.472 0.472 0.583 0.528 ...
$ nPM : num 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 ...
$ ncPM : num 0.222 0.222 0.333 0.333 0.333 ...
$ nCRo : num 0.25 0.25 0.5 0.25 0.25 0.25 0.25 0.5 0.5 0.25 ...
$ nbNSpL : num 0.25 0.5 0.25 0.25 0.75 0.25 0.25 0.25 0.25 0.25 ...
$ ncIp : num 0.444 0.222 0.444 0.333 0.444 ...
$ nbCoA : num 0.5 0.25 0.25 0.25 0.25 0.25 0.25 0.5 0.25 0.5 ...
$ nSbO : num 0.318 0.227 0.273 0.318 0.182 ...
$ nSpC : num 0.462 0.462 0.385 0.538 0.538 ...
$ TL : num 0.356 0.322 0.441 0.554 0.864 ...
$ n4TL : num 0.667 0.333 0.6 0.467 0.533 ...
$ nArT : num 0.439 0.439 0.341 0.463 0.561 ...
testSet_final <- testSet[,-c(29:41)]
testSet_final[,2:13] <- lapply(testSet_final[,2:13] , factor)
str(testSet_final)'data.frame': 61 obs. of 28 variables:
$ final_species_name: Factor w/ 13 levels "E_bibronii","E_bilineatus",..: 1 1 1 1 1 1 2 2 2 2 ...
$ NPRC.0 : Factor w/ 2 levels "0","1": 2 2 2 2 1 1 1 1 1 1 ...
$ NPRC.1 : Factor w/ 2 levels "0","1": 1 1 1 1 2 2 2 2 2 2 ...
$ GF.0 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ GF.1 : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ EGFS.0 : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 1 1 ...
$ EGFS.1 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 2 2 ...
$ DHS.0 : Factor w/ 2 levels "0","1": 1 1 1 2 1 1 2 1 2 2 ...
$ DHS.1 : Factor w/ 2 levels "0","1": 2 2 2 1 2 2 1 2 1 1 ...
$ TL4.0 : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ TL4.1 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ FL4.0 : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ FL4.1 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ nPVS : num 0.429 0.571 0.651 0.476 0.746 ...
$ nMS : num 0.419 0.465 0.488 0.535 0.837 ...
$ nVrS : num 0.119 0.144 0.136 0.119 0.22 ...
$ nVnS : num 0.583 0.722 0.528 0.5 0.556 ...
$ nPM : num 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 ...
$ ncPM : num 0.222 0.444 0.333 0.222 0.111 ...
$ nCRo : num 0.25 0.5 0.25 0.25 0.5 0.25 0.25 0.25 0.25 0.25 ...
$ nbNSpL : num 0.25 0.25 0.25 0.25 0.5 0.5 0.25 0.25 0.25 0.25 ...
$ ncIp : num 0.222 0.333 0.333 0.111 0.333 ...
$ nbCoA : num 0.25 0 0 0.25 0.75 0.5 0.5 0.75 0.25 0.5 ...
$ nSbO : num 0.364 0.455 0.182 0.318 0.364 ...
$ nSpC : num 0.615 0.538 0.308 0.462 0.462 ...
$ TL : num 0.757 0.802 0.514 0.113 0.475 ...
$ n4TL : num 0.733 0.467 0.667 0.6 0.733 ...
$ nArT : num 0.561 0.415 0.561 0.244 0.756 ...
Training machine learning algorithms
### Defining a training control
ctrl <- trainControl(method = "repeatedcv", classProbs = TRUE, number = 5,
repeats = 5, summaryFunction = defaultSummary)
### Predicting
# rpart (decision tress)
set.seed(42)
rpart <- train(final_species_name ~.,
data = trainingSet_final,
method = "rpart",
metric = "Accuracy",
trControl = ctrl,
na.action = na.omit
)
fitted_rpart <- predict(rpart, testSet_final)
length(testSet_final$final_species_name)[1] 61
length(fitted_rpart)[1] 61
cf_rpart <- confusionMatrix(reference = testSet_final$final_species_name,
data = fitted_rpart,
mode = "everything")
# nnet
set.seed(42)
nnet <- train(final_species_name ~.,
data = trainingSet_final,
method = "nnet",
metric = "Accuracy",
trControl = ctrl) # weights: 54
initial value 385.529354
iter 10 value 261.591635
iter 20 value 220.039136
iter 30 value 200.967879
iter 40 value 195.207890
iter 50 value 187.904963
iter 60 value 183.330696
iter 70 value 181.956675
iter 80 value 180.537430
iter 90 value 179.905974
iter 100 value 178.731093
final value 178.731093
stopped after 100 iterations
# weights: 136
initial value 349.326393
iter 10 value 209.389714
iter 20 value 111.193371
iter 30 value 87.090856
iter 40 value 72.182893
iter 50 value 60.985665
iter 60 value 47.763224
iter 70 value 42.000852
iter 80 value 38.424773
iter 90 value 36.356446
iter 100 value 35.616939
final value 35.616939
stopped after 100 iterations
# weights: 218
initial value 372.410288
iter 10 value 201.477827
iter 20 value 95.373960
iter 30 value 68.196642
iter 40 value 51.831111
iter 50 value 44.635519
iter 60 value 42.615988
iter 70 value 41.024927
iter 80 value 40.124978
iter 90 value 39.352024
iter 100 value 38.929968
final value 38.929968
stopped after 100 iterations
# weights: 54
initial value 388.974553
iter 10 value 258.605301
iter 20 value 237.397142
iter 30 value 236.713384
iter 40 value 236.695922
final value 236.695634
converged
# weights: 136
initial value 346.513807
iter 10 value 230.725494
iter 20 value 188.827647
iter 30 value 155.515571
iter 40 value 149.618550
iter 50 value 149.194315
iter 60 value 148.656291
iter 70 value 147.570587
iter 80 value 147.564051
final value 147.564013
converged
# weights: 218
initial value 378.453928
iter 10 value 250.074699
iter 20 value 175.155153
iter 30 value 145.681572
iter 40 value 138.860300
iter 50 value 128.808747
iter 60 value 122.906396
iter 70 value 120.813107
iter 80 value 120.643674
iter 90 value 120.611464
iter 100 value 120.607061
final value 120.607061
stopped after 100 iterations
# weights: 54
initial value 362.167862
iter 10 value 251.664016
iter 20 value 226.626596
iter 30 value 219.253850
iter 40 value 209.181768
iter 50 value 196.761775
iter 60 value 186.954488
iter 70 value 171.776171
iter 80 value 161.327846
iter 90 value 151.079422
iter 100 value 144.728061
final value 144.728061
stopped after 100 iterations
# weights: 136
initial value 356.176488
iter 10 value 210.922486
iter 20 value 133.401840
iter 30 value 97.026053
iter 40 value 77.382969
iter 50 value 62.672318
iter 60 value 55.257182
iter 70 value 51.252371
iter 80 value 47.699224
iter 90 value 45.454484
iter 100 value 42.387857
final value 42.387857
stopped after 100 iterations
# weights: 218
initial value 353.304722
iter 10 value 205.464704
iter 20 value 88.029613
iter 30 value 57.146671
iter 40 value 43.062997
iter 50 value 37.924271
iter 60 value 36.366920
iter 70 value 33.778706
iter 80 value 32.503951
iter 90 value 32.005333
iter 100 value 30.808761
final value 30.808761
stopped after 100 iterations
# weights: 54
initial value 364.959768
iter 10 value 270.723925
iter 20 value 226.784840
iter 30 value 205.689272
iter 40 value 198.772231
iter 50 value 196.655611
iter 60 value 195.330323
iter 70 value 192.710657
iter 80 value 189.725567
iter 90 value 188.952868
iter 100 value 187.772413
final value 187.772413
stopped after 100 iterations
# weights: 136
initial value 364.359538
iter 10 value 190.394574
iter 20 value 138.285576
iter 30 value 121.959292
iter 40 value 111.067304
iter 50 value 104.270538
iter 60 value 100.498698
iter 70 value 95.027094
iter 80 value 92.813914
iter 90 value 91.884767
iter 100 value 91.598950
final value 91.598950
stopped after 100 iterations
# weights: 218
initial value 345.600273
iter 10 value 189.123939
iter 20 value 103.264494
iter 30 value 74.020317
iter 40 value 56.990027
iter 50 value 49.065469
iter 60 value 47.143405
iter 70 value 46.751301
iter 80 value 46.582468
iter 90 value 46.306197
iter 100 value 46.228979
final value 46.228979
stopped after 100 iterations
# weights: 54
initial value 355.405236
iter 10 value 251.793579
iter 20 value 241.701007
iter 30 value 240.452947
iter 40 value 240.390649
final value 240.390365
converged
# weights: 136
initial value 350.416715
iter 10 value 236.558868
iter 20 value 186.489013
iter 30 value 158.429760
iter 40 value 154.790309
iter 50 value 154.216978
iter 60 value 154.079928
iter 70 value 153.135717
iter 80 value 151.539339
iter 90 value 149.311315
iter 100 value 149.111555
final value 149.111555
stopped after 100 iterations
# weights: 218
initial value 340.493083
iter 10 value 228.938076
iter 20 value 172.710278
iter 30 value 136.598143
iter 40 value 129.017018
iter 50 value 123.812184
iter 60 value 122.889648
iter 70 value 120.623424
iter 80 value 120.203711
iter 90 value 120.177581
iter 100 value 120.174722
final value 120.174722
stopped after 100 iterations
# weights: 54
initial value 355.268367
iter 10 value 269.858993
iter 20 value 209.998650
iter 30 value 187.442501
iter 40 value 172.631169
iter 50 value 167.290389
iter 60 value 161.327456
iter 70 value 154.915053
iter 80 value 151.159797
iter 90 value 149.954368
iter 100 value 148.925749
final value 148.925749
stopped after 100 iterations
# weights: 136
initial value 372.174374
iter 10 value 196.697420
iter 20 value 122.096845
iter 30 value 86.406492
iter 40 value 73.453984
iter 50 value 65.651613
iter 60 value 60.972350
iter 70 value 58.689724
iter 80 value 56.766598
iter 90 value 55.281950
iter 100 value 53.005179
final value 53.005179
stopped after 100 iterations
# weights: 218
initial value 379.449720
iter 10 value 195.945940
iter 20 value 64.050610
iter 30 value 19.801503
iter 40 value 10.991744
iter 50 value 8.965520
iter 60 value 7.688652
iter 70 value 7.208984
iter 80 value 5.248615
iter 90 value 4.325624
iter 100 value 3.944407
final value 3.944407
stopped after 100 iterations
# weights: 54
initial value 343.398542
iter 10 value 275.025744
iter 20 value 212.622878
iter 30 value 193.747890
iter 40 value 184.311451
iter 50 value 177.741165
iter 60 value 173.217097
iter 70 value 172.384883
iter 80 value 170.764335
iter 90 value 170.251251
iter 100 value 169.787727
final value 169.787727
stopped after 100 iterations
# weights: 136
initial value 365.731800
iter 10 value 232.525288
iter 20 value 126.296560
iter 30 value 94.618404
iter 40 value 83.913854
iter 50 value 80.139028
iter 60 value 78.522187
iter 70 value 77.107079
iter 80 value 76.040430
iter 90 value 74.821279
iter 100 value 73.705264
final value 73.705264
stopped after 100 iterations
# weights: 218
initial value 368.413109
iter 10 value 196.861870
iter 20 value 97.387890
iter 30 value 68.917329
iter 40 value 54.296705
iter 50 value 44.418022
iter 60 value 40.714118
iter 70 value 39.893105
iter 80 value 39.617015
iter 90 value 39.184556
iter 100 value 39.076882
final value 39.076882
stopped after 100 iterations
# weights: 54
initial value 366.131396
iter 10 value 299.036667
iter 20 value 270.762138
iter 30 value 254.399905
iter 40 value 248.175110
iter 50 value 245.185419
iter 60 value 245.137253
iter 70 value 245.135314
final value 245.135290
converged
# weights: 136
initial value 379.005689
iter 10 value 231.796213
iter 20 value 192.220355
iter 30 value 169.710704
iter 40 value 165.205164
iter 50 value 163.890325
iter 60 value 161.959202
iter 70 value 155.577555
iter 80 value 151.745258
iter 90 value 151.590516
iter 100 value 151.587262
final value 151.587262
stopped after 100 iterations
# weights: 218
initial value 377.630505
iter 10 value 234.827989
iter 20 value 167.742689
iter 30 value 142.737633
iter 40 value 131.698971
iter 50 value 122.835928
iter 60 value 121.195999
iter 70 value 120.476625
iter 80 value 119.671460
iter 90 value 119.583708
iter 100 value 119.578285
final value 119.578285
stopped after 100 iterations
# weights: 54
initial value 368.186137
iter 10 value 272.929001
iter 20 value 226.783172
iter 30 value 197.546782
iter 40 value 178.164490
iter 50 value 163.747856
iter 60 value 154.389872
iter 70 value 148.297760
iter 80 value 140.515789
iter 90 value 133.233916
iter 100 value 127.427128
final value 127.427128
stopped after 100 iterations
# weights: 136
initial value 353.364797
iter 10 value 229.644728
iter 20 value 132.596473
iter 30 value 93.400508
iter 40 value 76.321250
iter 50 value 66.308184
iter 60 value 61.698235
iter 70 value 57.313221
iter 80 value 54.170968
iter 90 value 49.578500
iter 100 value 46.764709
final value 46.764709
stopped after 100 iterations
# weights: 218
initial value 373.258677
iter 10 value 204.563381
iter 20 value 157.022722
iter 30 value 131.989539
iter 40 value 119.325342
iter 50 value 102.103499
iter 60 value 94.599496
iter 70 value 89.354559
iter 80 value 84.104327
iter 90 value 81.619216
iter 100 value 78.675823
final value 78.675823
stopped after 100 iterations
# weights: 54
initial value 347.844924
iter 10 value 272.744067
iter 20 value 214.603135
iter 30 value 193.071841
iter 40 value 182.896941
iter 50 value 178.424135
iter 60 value 176.223284
iter 70 value 174.560367
iter 80 value 172.936532
iter 90 value 172.435711
iter 100 value 172.180179
final value 172.180179
stopped after 100 iterations
# weights: 136
initial value 355.829372
iter 10 value 246.406913
iter 20 value 127.748386
iter 30 value 67.703695
iter 40 value 52.861378
iter 50 value 41.979988
iter 60 value 39.178485
iter 70 value 38.879739
iter 80 value 38.806956
iter 90 value 38.787066
iter 100 value 38.775115
final value 38.775115
stopped after 100 iterations
# weights: 218
initial value 338.180722
iter 10 value 189.382717
iter 20 value 89.684951
iter 30 value 48.086675
iter 40 value 29.307940
iter 50 value 19.657755
iter 60 value 10.468584
iter 70 value 4.481580
iter 80 value 1.067564
iter 90 value 0.296317
iter 100 value 0.104546
final value 0.104546
stopped after 100 iterations
# weights: 54
initial value 338.352376
iter 10 value 262.524714
iter 20 value 238.128461
iter 30 value 236.805801
iter 40 value 236.769300
final value 236.769287
converged
# weights: 136
initial value 344.141481
iter 10 value 224.721951
iter 20 value 185.915394
iter 30 value 177.409696
iter 40 value 161.769537
iter 50 value 156.190812
iter 60 value 150.301345
iter 70 value 145.308404
iter 80 value 145.057481
iter 90 value 145.051344
final value 145.051247
converged
# weights: 218
initial value 360.094251
iter 10 value 247.572418
iter 20 value 181.108835
iter 30 value 154.667195
iter 40 value 140.311731
iter 50 value 129.376838
iter 60 value 122.415580
iter 70 value 119.461801
iter 80 value 118.654051
iter 90 value 118.437974
iter 100 value 118.339302
final value 118.339302
stopped after 100 iterations
# weights: 54
initial value 359.887318
iter 10 value 265.692518
iter 20 value 217.666208
iter 30 value 206.100166
iter 40 value 200.271189
iter 50 value 193.500842
iter 60 value 190.122912
iter 70 value 188.278379
iter 80 value 186.118600
iter 90 value 185.273637
iter 100 value 184.788909
final value 184.788909
stopped after 100 iterations
# weights: 136
initial value 371.305892
iter 10 value 238.250313
iter 20 value 135.902584
iter 30 value 105.071957
iter 40 value 87.493947
iter 50 value 72.765850
iter 60 value 63.566989
iter 70 value 60.626119
iter 80 value 59.207265
iter 90 value 58.127415
iter 100 value 57.243910
final value 57.243910
stopped after 100 iterations
# weights: 218
initial value 412.514718
iter 10 value 298.872735
iter 20 value 184.943231
iter 30 value 118.986261
iter 40 value 85.467594
iter 50 value 73.770970
iter 60 value 61.973916
iter 70 value 33.678220
iter 80 value 28.347480
iter 90 value 25.118937
iter 100 value 22.368585
final value 22.368585
stopped after 100 iterations
# weights: 54
initial value 351.668298
iter 10 value 268.818366
iter 20 value 217.139467
iter 30 value 202.613630
iter 40 value 195.587262
iter 50 value 193.222246
iter 60 value 191.812283
iter 70 value 191.424178
iter 80 value 190.993963
iter 90 value 190.204450
iter 100 value 189.887750
final value 189.887750
stopped after 100 iterations
# weights: 136
initial value 359.506625
iter 10 value 234.894312
iter 20 value 160.851141
iter 30 value 132.749049
iter 40 value 118.229407
iter 50 value 99.923810
iter 60 value 89.947114
iter 70 value 84.468654
iter 80 value 80.248385
iter 90 value 76.554950
iter 100 value 72.701189
final value 72.701189
stopped after 100 iterations
# weights: 218
initial value 368.524006
iter 10 value 183.499821
iter 20 value 74.841406
iter 30 value 39.924852
iter 40 value 24.119479
iter 50 value 18.158299
iter 60 value 16.800652
iter 70 value 15.960671
iter 80 value 15.464734
iter 90 value 15.023948
iter 100 value 13.798286
final value 13.798286
stopped after 100 iterations
# weights: 54
initial value 347.288966
iter 10 value 264.992450
iter 20 value 246.450588
iter 30 value 238.288356
iter 40 value 237.798096
iter 50 value 237.792868
iter 50 value 237.792866
iter 50 value 237.792866
final value 237.792866
converged
# weights: 136
initial value 370.413312
iter 10 value 238.436481
iter 20 value 180.881069
iter 30 value 168.910924
iter 40 value 156.962921
iter 50 value 155.510327
iter 60 value 152.126801
iter 70 value 151.689221
iter 80 value 151.683116
final value 151.683048
converged
# weights: 218
initial value 372.267759
iter 10 value 229.781689
iter 20 value 168.647026
iter 30 value 146.596111
iter 40 value 137.008034
iter 50 value 131.545297
iter 60 value 128.625713
iter 70 value 127.319564
iter 80 value 126.967422
iter 90 value 126.918649
iter 100 value 126.775904
final value 126.775904
stopped after 100 iterations
# weights: 54
initial value 344.628829
iter 10 value 237.734553
iter 20 value 213.344009
iter 30 value 194.082511
iter 40 value 184.990970
iter 50 value 170.328090
iter 60 value 160.911806
iter 70 value 154.886502
iter 80 value 149.198413
iter 90 value 142.487060
iter 100 value 140.018124
final value 140.018124
stopped after 100 iterations
# weights: 136
initial value 348.871336
iter 10 value 216.272044
iter 20 value 146.376979
iter 30 value 127.260198
iter 40 value 118.147373
iter 50 value 113.395088
iter 60 value 110.427198
iter 70 value 107.400616
iter 80 value 100.959533
iter 90 value 99.021842
iter 100 value 96.882357
final value 96.882357
stopped after 100 iterations
# weights: 218
initial value 365.370213
iter 10 value 220.896416
iter 20 value 151.229204
iter 30 value 79.840691
iter 40 value 51.190672
iter 50 value 38.279853
iter 60 value 33.810416
iter 70 value 30.702932
iter 80 value 27.923340
iter 90 value 26.704560
iter 100 value 26.138667
final value 26.138667
stopped after 100 iterations
# weights: 54
initial value 353.449104
iter 10 value 289.956598
iter 20 value 216.193007
iter 30 value 197.198804
iter 40 value 190.386178
iter 50 value 186.749036
iter 60 value 185.454951
iter 70 value 183.192420
iter 80 value 182.560108
iter 90 value 182.383220
iter 100 value 182.239135
final value 182.239135
stopped after 100 iterations
# weights: 136
initial value 345.553717
iter 10 value 224.320376
iter 20 value 169.325031
iter 30 value 139.898954
iter 40 value 112.226040
iter 50 value 91.054217
iter 60 value 75.399448
iter 70 value 67.911684
iter 80 value 64.363295
iter 90 value 60.510796
iter 100 value 58.029336
final value 58.029336
stopped after 100 iterations
# weights: 218
initial value 379.471291
iter 10 value 179.692220
iter 20 value 95.098579
iter 30 value 48.364979
iter 40 value 29.903179
iter 50 value 14.353680
iter 60 value 8.556294
iter 70 value 5.797713
iter 80 value 5.619829
iter 90 value 5.605703
iter 100 value 5.602566
final value 5.602566
stopped after 100 iterations
# weights: 54
initial value 337.651085
iter 10 value 289.825951
iter 20 value 248.132096
iter 30 value 237.834050
iter 40 value 237.434296
iter 50 value 237.420444
final value 237.420223
converged
# weights: 136
initial value 346.965998
iter 10 value 220.309837
iter 20 value 169.725192
iter 30 value 154.557650
iter 40 value 148.461331
iter 50 value 147.904293
iter 60 value 147.886456
final value 147.886284
converged
# weights: 218
initial value 368.168459
iter 10 value 249.115678
iter 20 value 165.851948
iter 30 value 134.677982
iter 40 value 128.358598
iter 50 value 124.306319
iter 60 value 123.319702
iter 70 value 123.028036
iter 80 value 122.911385
iter 90 value 122.780622
iter 100 value 121.214780
final value 121.214780
stopped after 100 iterations
# weights: 54
initial value 357.817481
iter 10 value 239.251750
iter 20 value 205.897840
iter 30 value 187.246007
iter 40 value 173.217023
iter 50 value 163.135300
iter 60 value 155.442375
iter 70 value 153.765809
iter 80 value 153.230912
iter 90 value 152.660920
iter 100 value 151.532363
final value 151.532363
stopped after 100 iterations
# weights: 136
initial value 374.327080
iter 10 value 209.539195
iter 20 value 118.841813
iter 30 value 67.231736
iter 40 value 45.359850
iter 50 value 38.203435
iter 60 value 35.179465
iter 70 value 33.214761
iter 80 value 30.428059
iter 90 value 27.595036
iter 100 value 26.088724
final value 26.088724
stopped after 100 iterations
# weights: 218
initial value 370.614429
iter 10 value 198.353349
iter 20 value 107.680657
iter 30 value 54.585782
iter 40 value 27.739587
iter 50 value 17.168679
iter 60 value 12.757865
iter 70 value 11.182739
iter 80 value 10.096746
iter 90 value 7.004910
iter 100 value 5.617902
final value 5.617902
stopped after 100 iterations
# weights: 54
initial value 342.717006
iter 10 value 287.502861
iter 20 value 262.072687
iter 30 value 221.200258
iter 40 value 207.194423
iter 50 value 197.740433
iter 60 value 195.034896
iter 70 value 194.216624
iter 80 value 192.886295
iter 90 value 192.606720
iter 100 value 192.409680
final value 192.409680
stopped after 100 iterations
# weights: 136
initial value 323.063944
iter 10 value 196.634851
iter 20 value 91.754341
iter 30 value 67.517829
iter 40 value 53.850446
iter 50 value 43.689442
iter 60 value 41.314283
iter 70 value 40.441241
iter 80 value 40.109636
iter 90 value 39.921638
iter 100 value 39.741025
final value 39.741025
stopped after 100 iterations
# weights: 218
initial value 353.835076
iter 10 value 182.979612
iter 20 value 88.334281
iter 30 value 55.812651
iter 40 value 43.767629
iter 50 value 31.543473
iter 60 value 26.181861
iter 70 value 24.612767
iter 80 value 24.455460
iter 90 value 24.353873
iter 100 value 24.307966
final value 24.307966
stopped after 100 iterations
# weights: 54
initial value 352.083532
iter 10 value 249.158127
iter 20 value 234.992170
iter 30 value 233.991183
iter 40 value 233.950818
final value 233.950795
converged
# weights: 136
initial value 360.158042
iter 10 value 227.565625
iter 20 value 185.615653
iter 30 value 159.425961
iter 40 value 155.566433
iter 50 value 155.101179
iter 60 value 154.802381
iter 70 value 152.443791
iter 80 value 151.533122
iter 90 value 151.408670
iter 100 value 151.330845
final value 151.330845
stopped after 100 iterations
# weights: 218
initial value 351.725537
iter 10 value 254.690426
iter 20 value 168.854863
iter 30 value 145.625402
iter 40 value 136.346370
iter 50 value 129.931644
iter 60 value 126.707647
iter 70 value 125.251647
iter 80 value 124.121435
iter 90 value 123.787544
iter 100 value 123.777888
final value 123.777888
stopped after 100 iterations
# weights: 54
initial value 374.423922
iter 10 value 254.595577
iter 20 value 197.129817
iter 30 value 161.102548
iter 40 value 143.701865
iter 50 value 138.180635
iter 60 value 134.805037
iter 70 value 132.492287
iter 80 value 131.785392
iter 90 value 130.875514
iter 100 value 130.327714
final value 130.327714
stopped after 100 iterations
# weights: 136
initial value 366.241250
iter 10 value 238.764018
iter 20 value 129.291024
iter 30 value 94.245429
iter 40 value 74.883817
iter 50 value 66.626179
iter 60 value 62.455075
iter 70 value 60.770722
iter 80 value 59.925416
iter 90 value 58.736697
iter 100 value 57.152709
final value 57.152709
stopped after 100 iterations
# weights: 218
initial value 355.805872
iter 10 value 221.057916
iter 20 value 143.785535
iter 30 value 93.995724
iter 40 value 77.912300
iter 50 value 70.839249
iter 60 value 67.827193
iter 70 value 64.109211
iter 80 value 58.585968
iter 90 value 51.065246
iter 100 value 43.936131
final value 43.936131
stopped after 100 iterations
# weights: 54
initial value 357.947103
iter 10 value 271.906327
iter 20 value 228.418888
iter 30 value 204.256559
iter 40 value 194.468875
iter 50 value 186.521837
iter 60 value 175.152414
iter 70 value 164.405666
iter 80 value 160.985226
iter 90 value 156.161278
iter 100 value 153.121867
final value 153.121867
stopped after 100 iterations
# weights: 136
initial value 392.257362
iter 10 value 197.104178
iter 20 value 117.336773
iter 30 value 88.934457
iter 40 value 71.525102
iter 50 value 63.782366
iter 60 value 62.454841
iter 70 value 62.136211
iter 80 value 61.984613
iter 90 value 61.901043
iter 100 value 61.851040
final value 61.851040
stopped after 100 iterations
# weights: 218
initial value 362.568877
iter 10 value 223.714668
iter 20 value 135.094728
iter 30 value 79.194603
iter 40 value 59.399073
iter 50 value 51.827479
iter 60 value 48.180808
iter 70 value 46.468106
iter 80 value 45.715100
iter 90 value 45.220362
iter 100 value 45.087056
final value 45.087056
stopped after 100 iterations
# weights: 54
initial value 349.202320
iter 10 value 281.417626
iter 20 value 248.719477
iter 30 value 244.122525
iter 40 value 242.988290
iter 50 value 242.905351
iter 60 value 242.854196
final value 242.854178
converged
# weights: 136
initial value 346.103462
iter 10 value 217.848436
iter 20 value 170.576934
iter 30 value 159.685120
iter 40 value 156.751590
iter 50 value 156.235010
iter 60 value 155.620091
iter 70 value 155.600149
final value 155.600050
converged
# weights: 218
initial value 396.427053
iter 10 value 240.295736
iter 20 value 170.374936
iter 30 value 139.475142
iter 40 value 131.466147
iter 50 value 127.849782
iter 60 value 126.338159
iter 70 value 122.315713
iter 80 value 120.031056
iter 90 value 119.282637
iter 100 value 119.209822
final value 119.209822
stopped after 100 iterations
# weights: 54
initial value 366.250636
iter 10 value 313.119961
iter 20 value 245.103769
iter 30 value 233.581795
iter 40 value 228.503349
iter 50 value 227.616766
iter 60 value 227.172522
iter 70 value 226.962137
iter 80 value 226.461507
iter 90 value 226.215016
iter 100 value 226.170322
final value 226.170322
stopped after 100 iterations
# weights: 136
initial value 436.083798
iter 10 value 251.528314
iter 20 value 127.230911
iter 30 value 96.733012
iter 40 value 81.446453
iter 50 value 77.434765
iter 60 value 75.451827
iter 70 value 73.014664
iter 80 value 71.764524
iter 90 value 70.749880
iter 100 value 69.380016
final value 69.380016
stopped after 100 iterations
# weights: 218
initial value 395.143913
iter 10 value 199.517371
iter 20 value 76.154630
iter 30 value 38.542966
iter 40 value 23.094722
iter 50 value 16.474086
iter 60 value 15.387030
iter 70 value 13.398873
iter 80 value 11.737423
iter 90 value 10.449811
iter 100 value 9.296444
final value 9.296444
stopped after 100 iterations
# weights: 54
initial value 350.266466
iter 10 value 283.461576
iter 20 value 226.356469
iter 30 value 211.011849
iter 40 value 191.593108
iter 50 value 181.138692
iter 60 value 175.632450
iter 70 value 170.634164
iter 80 value 166.641451
iter 90 value 162.429494
iter 100 value 156.908059
final value 156.908059
stopped after 100 iterations
# weights: 136
initial value 360.895459
iter 10 value 189.197673
iter 20 value 114.333286
iter 30 value 90.725538
iter 40 value 77.640908
iter 50 value 68.726995
iter 60 value 63.407679
iter 70 value 60.092313
iter 80 value 58.172887
iter 90 value 55.808812
iter 100 value 54.274842
final value 54.274842
stopped after 100 iterations
# weights: 218
initial value 350.065096
iter 10 value 188.714113
iter 20 value 135.912624
iter 30 value 98.223570
iter 40 value 69.445015
iter 50 value 55.898077
iter 60 value 50.021823
iter 70 value 46.866789
iter 80 value 45.158561
iter 90 value 42.007906
iter 100 value 38.308362
final value 38.308362
stopped after 100 iterations
# weights: 54
initial value 334.826785
iter 10 value 262.117017
iter 20 value 242.212576
iter 30 value 239.668137
iter 40 value 239.510484
final value 239.507745
converged
# weights: 136
initial value 351.571250
iter 10 value 236.688664
iter 20 value 178.336055
iter 30 value 160.485356
iter 40 value 149.507687
iter 50 value 147.421437
iter 60 value 147.285096
final value 147.284709
converged
# weights: 218
initial value 377.634552
iter 10 value 230.764538
iter 20 value 159.746980
iter 30 value 136.544401
iter 40 value 131.447678
iter 50 value 128.321415
iter 60 value 126.042934
iter 70 value 124.766883
iter 80 value 124.115330
iter 90 value 122.848392
iter 100 value 122.195187
final value 122.195187
stopped after 100 iterations
# weights: 54
initial value 361.089858
iter 10 value 273.345709
iter 20 value 243.976327
iter 30 value 229.080672
iter 40 value 212.392881
iter 50 value 203.462144
iter 60 value 198.882541
iter 70 value 195.464635
iter 80 value 194.006209
iter 90 value 187.299129
iter 100 value 171.009776
final value 171.009776
stopped after 100 iterations
# weights: 136
initial value 375.974621
iter 10 value 194.726650
iter 20 value 122.121153
iter 30 value 92.266851
iter 40 value 71.513900
iter 50 value 62.298596
iter 60 value 57.959422
iter 70 value 55.478212
iter 80 value 54.460082
iter 90 value 53.841334
iter 100 value 53.253488
final value 53.253488
stopped after 100 iterations
# weights: 218
initial value 358.842078
iter 10 value 203.899151
iter 20 value 79.434463
iter 30 value 34.436823
iter 40 value 23.542027
iter 50 value 20.648998
iter 60 value 19.350143
iter 70 value 17.315154
iter 80 value 15.923716
iter 90 value 12.475067
iter 100 value 11.195519
final value 11.195519
stopped after 100 iterations
# weights: 54
initial value 351.836372
iter 10 value 258.686618
iter 20 value 224.884394
iter 30 value 208.376127
iter 40 value 198.191233
iter 50 value 184.588504
iter 60 value 178.158504
iter 70 value 167.710203
iter 80 value 153.616826
iter 90 value 146.838964
iter 100 value 142.951929
final value 142.951929
stopped after 100 iterations
# weights: 136
initial value 379.762044
iter 10 value 215.023838
iter 20 value 125.653303
iter 30 value 89.753172
iter 40 value 70.496693
iter 50 value 61.631508
iter 60 value 56.883443
iter 70 value 48.804265
iter 80 value 42.737835
iter 90 value 39.328083
iter 100 value 38.050659
final value 38.050659
stopped after 100 iterations
# weights: 218
initial value 390.995954
iter 10 value 179.187222
iter 20 value 86.868302
iter 30 value 62.544056
iter 40 value 43.730433
iter 50 value 27.738746
iter 60 value 19.603080
iter 70 value 15.697816
iter 80 value 15.033711
iter 90 value 14.971661
iter 100 value 14.962775
final value 14.962775
stopped after 100 iterations
# weights: 54
initial value 367.830152
iter 10 value 265.588725
iter 20 value 241.893369
iter 30 value 240.597388
iter 40 value 240.481682
final value 240.481285
converged
# weights: 136
initial value 366.082327
iter 10 value 245.125644
iter 20 value 179.217971
iter 30 value 152.963529
iter 40 value 150.827272
iter 50 value 150.580835
iter 60 value 149.827444
iter 70 value 149.394102
iter 80 value 149.382963
final value 149.382821
converged
# weights: 218
initial value 385.787157
iter 10 value 233.306277
iter 20 value 159.051294
iter 30 value 136.204370
iter 40 value 129.366840
iter 50 value 126.291139
iter 60 value 124.470787
iter 70 value 123.991800
iter 80 value 123.299068
iter 90 value 122.945378
iter 100 value 122.723374
final value 122.723374
stopped after 100 iterations
# weights: 54
initial value 367.053244
iter 10 value 249.620702
iter 20 value 209.612662
iter 30 value 190.303541
iter 40 value 178.310348
iter 50 value 166.365978
iter 60 value 152.351059
iter 70 value 147.416523
iter 80 value 142.959922
iter 90 value 142.556434
iter 100 value 142.245696
final value 142.245696
stopped after 100 iterations
# weights: 136
initial value 344.419035
iter 10 value 214.049997
iter 20 value 118.812400
iter 30 value 82.029870
iter 40 value 65.742462
iter 50 value 61.435136
iter 60 value 59.172772
iter 70 value 56.212564
iter 80 value 53.522956
iter 90 value 52.613945
iter 100 value 51.345490
final value 51.345490
stopped after 100 iterations
# weights: 218
initial value 337.633187
iter 10 value 186.059353
iter 20 value 100.702463
iter 30 value 63.194887
iter 40 value 49.148331
iter 50 value 43.139905
iter 60 value 39.245613
iter 70 value 36.846552
iter 80 value 35.881480
iter 90 value 34.911503
iter 100 value 32.931987
final value 32.931987
stopped after 100 iterations
# weights: 54
initial value 370.442853
iter 10 value 232.709073
iter 20 value 194.308366
iter 30 value 178.964628
iter 40 value 156.649544
iter 50 value 144.690036
iter 60 value 134.499127
iter 70 value 130.388030
iter 80 value 128.618094
iter 90 value 126.531109
iter 100 value 125.312540
final value 125.312540
stopped after 100 iterations
# weights: 136
initial value 373.016701
iter 10 value 218.954437
iter 20 value 140.220417
iter 30 value 100.943298
iter 40 value 78.042661
iter 50 value 68.030772
iter 60 value 65.994712
iter 70 value 65.273484
iter 80 value 64.755330
iter 90 value 64.303219
iter 100 value 62.978864
final value 62.978864
stopped after 100 iterations
# weights: 218
initial value 377.040805
iter 10 value 216.531924
iter 20 value 120.938203
iter 30 value 55.486873
iter 40 value 28.352845
iter 50 value 14.805868
iter 60 value 8.348375
iter 70 value 6.102164
iter 80 value 5.827947
iter 90 value 5.610106
iter 100 value 4.719466
final value 4.719466
stopped after 100 iterations
# weights: 54
initial value 331.809906
iter 10 value 265.460662
iter 20 value 236.994638
iter 30 value 234.779461
iter 40 value 234.566830
iter 50 value 234.337669
final value 234.336034
converged
# weights: 136
initial value 361.571698
iter 10 value 222.721761
iter 20 value 171.676206
iter 30 value 158.180410
iter 40 value 153.291446
iter 50 value 146.018414
iter 60 value 142.280729
iter 70 value 142.207358
final value 142.207259
converged
# weights: 218
initial value 366.292251
iter 10 value 229.269192
iter 20 value 157.199762
iter 30 value 133.981728
iter 40 value 129.220633
iter 50 value 124.693514
iter 60 value 121.887558
iter 70 value 121.340717
iter 80 value 121.138716
iter 90 value 118.704685
iter 100 value 117.607901
final value 117.607901
stopped after 100 iterations
# weights: 54
initial value 362.705107
iter 10 value 271.337039
iter 20 value 213.529661
iter 30 value 195.886446
iter 40 value 182.520450
iter 50 value 175.392774
iter 60 value 172.764449
iter 70 value 169.966450
iter 80 value 167.302034
iter 90 value 163.726346
iter 100 value 160.471709
final value 160.471709
stopped after 100 iterations
# weights: 136
initial value 360.262907
iter 10 value 211.434711
iter 20 value 153.640692
iter 30 value 123.175961
iter 40 value 104.306200
iter 50 value 93.305843
iter 60 value 87.589528
iter 70 value 84.730206
iter 80 value 81.485011
iter 90 value 80.505769
iter 100 value 78.654658
final value 78.654658
stopped after 100 iterations
# weights: 218
initial value 369.037470
iter 10 value 211.311004
iter 20 value 81.729816
iter 30 value 28.881679
iter 40 value 14.466455
iter 50 value 11.597385
iter 60 value 10.087488
iter 70 value 9.259961
iter 80 value 8.501711
iter 90 value 7.834392
iter 100 value 4.825643
final value 4.825643
stopped after 100 iterations
# weights: 54
initial value 366.960590
iter 10 value 241.196659
iter 20 value 227.624863
iter 30 value 211.233484
iter 40 value 206.657965
iter 50 value 203.359310
iter 60 value 202.361978
iter 70 value 200.887941
iter 80 value 196.418600
iter 90 value 194.290191
iter 100 value 193.413121
final value 193.413121
stopped after 100 iterations
# weights: 136
initial value 347.642096
iter 10 value 235.671743
iter 20 value 142.476678
iter 30 value 112.372249
iter 40 value 93.473229
iter 50 value 85.969522
iter 60 value 85.201783
iter 70 value 84.657146
iter 80 value 84.293576
iter 90 value 84.146364
iter 100 value 84.089212
final value 84.089212
stopped after 100 iterations
# weights: 218
initial value 368.033511
iter 10 value 197.531808
iter 20 value 100.250166
iter 30 value 61.658471
iter 40 value 33.211497
iter 50 value 18.803135
iter 60 value 12.008280
iter 70 value 10.267334
iter 80 value 9.561749
iter 90 value 9.489070
iter 100 value 9.476830
final value 9.476830
stopped after 100 iterations
# weights: 54
initial value 395.003894
iter 10 value 265.939723
iter 20 value 238.987856
iter 30 value 233.609027
iter 40 value 232.429614
iter 50 value 232.394317
final value 232.394285
converged
# weights: 136
initial value 380.155979
iter 10 value 275.762393
iter 20 value 207.260717
iter 30 value 189.425878
iter 40 value 171.000970
iter 50 value 160.551675
iter 60 value 150.989161
iter 70 value 148.681100
iter 80 value 147.106101
iter 90 value 145.331446
iter 100 value 144.822612
final value 144.822612
stopped after 100 iterations
# weights: 218
initial value 394.191943
iter 10 value 242.670877
iter 20 value 164.436778
iter 30 value 137.757072
iter 40 value 130.170196
iter 50 value 124.528652
iter 60 value 121.487675
iter 70 value 118.401382
iter 80 value 116.863749
iter 90 value 115.187206
iter 100 value 114.251854
final value 114.251854
stopped after 100 iterations
# weights: 54
initial value 354.322584
iter 10 value 258.395494
iter 20 value 217.111427
iter 30 value 204.102351
iter 40 value 198.360196
iter 50 value 197.805763
iter 60 value 197.285768
iter 70 value 196.895473
iter 80 value 196.627587
iter 90 value 196.483548
iter 100 value 196.203743
final value 196.203743
stopped after 100 iterations
# weights: 136
initial value 342.949766
iter 10 value 212.465872
iter 20 value 119.036082
iter 30 value 66.418808
iter 40 value 42.456842
iter 50 value 34.652699
iter 60 value 27.044239
iter 70 value 23.839736
iter 80 value 19.742207
iter 90 value 16.717258
iter 100 value 14.357249
final value 14.357249
stopped after 100 iterations
# weights: 218
initial value 362.180151
iter 10 value 207.044741
iter 20 value 138.782456
iter 30 value 96.759576
iter 40 value 60.303081
iter 50 value 47.982268
iter 60 value 34.449316
iter 70 value 26.209234
iter 80 value 22.553559
iter 90 value 20.111814
iter 100 value 17.917156
final value 17.917156
stopped after 100 iterations
# weights: 54
initial value 355.389609
iter 10 value 256.504962
iter 20 value 237.831224
iter 30 value 232.275645
iter 40 value 229.201359
iter 50 value 229.032123
iter 60 value 228.421462
iter 70 value 228.317345
iter 80 value 228.238147
iter 90 value 228.225844
iter 100 value 228.224093
final value 228.224093
stopped after 100 iterations
# weights: 136
initial value 379.922790
iter 10 value 252.307792
iter 20 value 139.268848
iter 30 value 93.530189
iter 40 value 57.763878
iter 50 value 37.835932
iter 60 value 30.295411
iter 70 value 27.097140
iter 80 value 26.185251
iter 90 value 25.929045
iter 100 value 25.788897
final value 25.788897
stopped after 100 iterations
# weights: 218
initial value 346.093455
iter 10 value 206.037182
iter 20 value 94.378973
iter 30 value 57.601256
iter 40 value 29.178438
iter 50 value 19.628941
iter 60 value 16.057128
iter 70 value 15.644405
iter 80 value 15.526286
iter 90 value 15.466514
iter 100 value 15.425200
final value 15.425200
stopped after 100 iterations
# weights: 54
initial value 355.027605
iter 10 value 265.133955
iter 20 value 241.411029
iter 30 value 239.381775
iter 40 value 239.337074
final value 239.336770
converged
# weights: 136
initial value 369.088220
iter 10 value 241.120028
iter 20 value 179.223685
iter 30 value 164.308473
iter 40 value 156.704680
iter 50 value 151.762036
iter 60 value 150.678318
iter 70 value 150.642147
final value 150.641439
converged
# weights: 218
initial value 360.138726
iter 10 value 236.761942
iter 20 value 153.887085
iter 30 value 136.419312
iter 40 value 131.032905
iter 50 value 127.228395
iter 60 value 123.906917
iter 70 value 121.656356
iter 80 value 120.885108
iter 90 value 120.846884
iter 100 value 120.844843
final value 120.844843
stopped after 100 iterations
# weights: 54
initial value 335.547737
iter 10 value 300.437579
iter 20 value 224.580604
iter 30 value 198.006223
iter 40 value 184.933162
iter 50 value 179.509217
iter 60 value 169.615942
iter 70 value 161.889711
iter 80 value 156.695745
iter 90 value 154.072925
iter 100 value 148.403907
final value 148.403907
stopped after 100 iterations
# weights: 136
initial value 376.855783
iter 10 value 188.175542
iter 20 value 126.950503
iter 30 value 96.437440
iter 40 value 78.687260
iter 50 value 71.495604
iter 60 value 70.114526
iter 70 value 68.644528
iter 80 value 64.305795
iter 90 value 62.539088
iter 100 value 60.641258
final value 60.641258
stopped after 100 iterations
# weights: 218
initial value 388.555187
iter 10 value 254.964868
iter 20 value 193.943696
iter 30 value 164.604896
iter 40 value 155.921349
iter 50 value 152.995095
iter 60 value 144.505612
iter 70 value 131.496864
iter 80 value 122.866523
iter 90 value 119.368490
iter 100 value 111.659771
final value 111.659771
stopped after 100 iterations
# weights: 54
initial value 350.756460
iter 10 value 260.967874
iter 20 value 204.115446
iter 30 value 181.666966
iter 40 value 169.854049
iter 50 value 165.722350
iter 60 value 163.884286
iter 70 value 161.864353
iter 80 value 161.145626
iter 90 value 159.103160
iter 100 value 158.319604
final value 158.319604
stopped after 100 iterations
# weights: 136
initial value 395.567707
iter 10 value 266.330232
iter 20 value 193.413563
iter 30 value 162.827675
iter 40 value 141.226598
iter 50 value 117.193709
iter 60 value 113.366546
iter 70 value 110.767668
iter 80 value 108.383851
iter 90 value 106.578608
iter 100 value 105.148114
final value 105.148114
stopped after 100 iterations
# weights: 218
initial value 374.537813
iter 10 value 211.652648
iter 20 value 149.879913
iter 30 value 105.181861
iter 40 value 80.153821
iter 50 value 63.530732
iter 60 value 51.098321
iter 70 value 41.571231
iter 80 value 36.102684
iter 90 value 34.388622
iter 100 value 33.593671
final value 33.593671
stopped after 100 iterations
# weights: 54
initial value 368.237831
iter 10 value 262.787285
iter 20 value 241.453672
iter 30 value 240.592556
iter 40 value 240.548348
final value 240.548245
converged
# weights: 136
initial value 375.706449
iter 10 value 245.734605
iter 20 value 201.879494
iter 30 value 175.120531
iter 40 value 161.261857
iter 50 value 154.811178
iter 60 value 153.341611
iter 70 value 152.907545
iter 80 value 152.871493
iter 90 value 152.870562
final value 152.870557
converged
# weights: 218
initial value 364.623066
iter 10 value 223.923660
iter 20 value 156.963650
iter 30 value 139.153940
iter 40 value 136.990406
iter 50 value 133.976424
iter 60 value 129.208844
iter 70 value 124.631064
iter 80 value 121.153907
iter 90 value 120.763431
iter 100 value 120.732224
final value 120.732224
stopped after 100 iterations
# weights: 54
initial value 355.097311
iter 10 value 265.269355
iter 20 value 217.376660
iter 30 value 193.704212
iter 40 value 179.220854
iter 50 value 170.014793
iter 60 value 167.278892
iter 70 value 159.962585
iter 80 value 153.650041
iter 90 value 147.363696
iter 100 value 146.114487
final value 146.114487
stopped after 100 iterations
# weights: 136
initial value 393.506410
iter 10 value 234.965583
iter 20 value 103.537162
iter 30 value 73.427704
iter 40 value 54.488732
iter 50 value 45.173568
iter 60 value 40.521727
iter 70 value 33.561328
iter 80 value 26.505692
iter 90 value 19.559006
iter 100 value 18.234740
final value 18.234740
stopped after 100 iterations
# weights: 218
initial value 418.504385
iter 10 value 239.000010
iter 20 value 126.192992
iter 30 value 62.286687
iter 40 value 32.809803
iter 50 value 21.349833
iter 60 value 15.376637
iter 70 value 14.515029
iter 80 value 13.910728
iter 90 value 12.695931
iter 100 value 8.786210
final value 8.786210
stopped after 100 iterations
# weights: 54
initial value 403.242807
iter 10 value 244.228575
iter 20 value 216.285785
iter 30 value 191.601114
iter 40 value 174.036707
iter 50 value 167.498951
iter 60 value 160.550092
iter 70 value 152.789693
iter 80 value 147.636039
iter 90 value 143.787270
iter 100 value 142.401561
final value 142.401561
stopped after 100 iterations
# weights: 136
initial value 371.544644
iter 10 value 296.650249
iter 20 value 190.407978
iter 30 value 136.052393
iter 40 value 116.277981
iter 50 value 111.494953
iter 60 value 108.234326
iter 70 value 106.107126
iter 80 value 104.517054
iter 90 value 104.008765
iter 100 value 103.693582
final value 103.693582
stopped after 100 iterations
# weights: 218
initial value 364.045197
iter 10 value 189.480532
iter 20 value 94.624327
iter 30 value 57.735619
iter 40 value 38.006734
iter 50 value 28.850776
iter 60 value 25.736552
iter 70 value 24.263486
iter 80 value 23.822003
iter 90 value 23.582266
iter 100 value 23.531684
final value 23.531684
stopped after 100 iterations
# weights: 54
initial value 351.532981
iter 10 value 288.601115
iter 20 value 253.392269
iter 30 value 247.842818
iter 40 value 247.639705
final value 247.638771
converged
# weights: 136
initial value 359.678482
iter 10 value 240.383780
iter 20 value 189.955198
iter 30 value 167.260009
iter 40 value 160.137343
iter 50 value 158.550052
iter 60 value 158.492636
iter 70 value 158.491840
final value 158.491835
converged
# weights: 218
initial value 377.108192
iter 10 value 232.491076
iter 20 value 171.537737
iter 30 value 156.599147
iter 40 value 138.828306
iter 50 value 130.345405
iter 60 value 127.162834
iter 70 value 125.826624
iter 80 value 125.578045
iter 90 value 125.446543
iter 100 value 124.822853
final value 124.822853
stopped after 100 iterations
# weights: 54
initial value 361.342703
iter 10 value 272.651602
iter 20 value 224.736652
iter 30 value 203.089943
iter 40 value 190.012803
iter 50 value 182.784284
iter 60 value 177.463534
iter 70 value 171.443437
iter 80 value 165.343503
iter 90 value 163.290865
iter 100 value 160.269786
final value 160.269786
stopped after 100 iterations
# weights: 136
initial value 346.415252
iter 10 value 220.682385
iter 20 value 164.919824
iter 30 value 124.126452
iter 40 value 110.090011
iter 50 value 100.793682
iter 60 value 95.168694
iter 70 value 92.637100
iter 80 value 90.890904
iter 90 value 90.036051
iter 100 value 89.180616
final value 89.180616
stopped after 100 iterations
# weights: 218
initial value 381.943660
iter 10 value 204.889279
iter 20 value 156.628741
iter 30 value 121.237551
iter 40 value 103.160452
iter 50 value 94.070055
iter 60 value 92.669122
iter 70 value 90.347795
iter 80 value 88.460442
iter 90 value 87.935179
iter 100 value 86.348406
final value 86.348406
stopped after 100 iterations
# weights: 54
initial value 340.206023
iter 10 value 260.186673
iter 20 value 225.692079
iter 30 value 215.364643
iter 40 value 206.509282
iter 50 value 205.590974
iter 60 value 205.095124
iter 70 value 204.534081
iter 80 value 203.403417
iter 90 value 201.949372
iter 100 value 200.208622
final value 200.208622
stopped after 100 iterations
# weights: 136
initial value 345.645680
iter 10 value 188.755037
iter 20 value 114.277622
iter 30 value 82.456346
iter 40 value 63.086086
iter 50 value 51.337732
iter 60 value 44.338668
iter 70 value 43.822388
iter 80 value 43.591032
iter 90 value 43.445262
iter 100 value 43.337188
final value 43.337188
stopped after 100 iterations
# weights: 218
initial value 349.593237
iter 10 value 197.640123
iter 20 value 91.827289
iter 30 value 53.099706
iter 40 value 34.047814
iter 50 value 19.967966
iter 60 value 13.489869
iter 70 value 11.143229
iter 80 value 10.227791
iter 90 value 8.771796
iter 100 value 8.424561
final value 8.424561
stopped after 100 iterations
# weights: 54
initial value 343.489069
iter 10 value 270.902226
iter 20 value 245.109614
iter 30 value 240.435131
iter 40 value 238.532160
iter 50 value 238.515981
final value 238.515940
converged
# weights: 136
initial value 366.070604
iter 10 value 228.456527
iter 20 value 175.109164
iter 30 value 160.703893
iter 40 value 154.148350
iter 50 value 150.386116
iter 60 value 148.501473
iter 70 value 148.229835
iter 80 value 148.211953
final value 148.211517
converged
# weights: 218
initial value 365.101320
iter 10 value 219.569601
iter 20 value 159.558639
iter 30 value 137.840597
iter 40 value 130.590261
iter 50 value 125.940125
iter 60 value 123.884799
iter 70 value 123.063302
iter 80 value 122.842870
iter 90 value 122.806771
iter 100 value 122.786862
final value 122.786862
stopped after 100 iterations
# weights: 54
initial value 378.140940
iter 10 value 259.809784
iter 20 value 225.637277
iter 30 value 211.249796
iter 40 value 205.717345
iter 50 value 204.490110
iter 60 value 203.439404
iter 70 value 202.328741
iter 80 value 202.046065
iter 90 value 201.844470
iter 100 value 201.578426
final value 201.578426
stopped after 100 iterations
# weights: 136
initial value 343.428534
iter 10 value 175.840451
iter 20 value 127.598078
iter 30 value 104.828797
iter 40 value 92.810647
iter 50 value 86.249551
iter 60 value 82.980916
iter 70 value 80.433021
iter 80 value 78.781084
iter 90 value 77.500496
iter 100 value 77.060340
final value 77.060340
stopped after 100 iterations
# weights: 218
initial value 381.926101
iter 10 value 206.821607
iter 20 value 102.235169
iter 30 value 54.595264
iter 40 value 38.583342
iter 50 value 27.307471
iter 60 value 19.400344
iter 70 value 16.603489
iter 80 value 13.868275
iter 90 value 11.065175
iter 100 value 8.223805
final value 8.223805
stopped after 100 iterations
# weights: 54
initial value 367.522430
iter 10 value 274.968288
iter 20 value 219.141578
iter 30 value 192.238924
iter 40 value 172.013907
iter 50 value 157.540946
iter 60 value 152.148795
iter 70 value 147.088146
iter 80 value 143.796273
iter 90 value 141.751193
iter 100 value 139.549347
final value 139.549347
stopped after 100 iterations
# weights: 136
initial value 342.355304
iter 10 value 209.899360
iter 20 value 130.589498
iter 30 value 100.867423
iter 40 value 86.300247
iter 50 value 78.021967
iter 60 value 73.090232
iter 70 value 71.417508
iter 80 value 70.925402
iter 90 value 70.333340
iter 100 value 69.951326
final value 69.951326
stopped after 100 iterations
# weights: 218
initial value 334.912557
iter 10 value 203.749582
iter 20 value 132.064085
iter 30 value 91.244026
iter 40 value 67.149521
iter 50 value 56.044212
iter 60 value 48.887178
iter 70 value 44.364349
iter 80 value 42.673982
iter 90 value 41.892675
iter 100 value 41.689202
final value 41.689202
stopped after 100 iterations
# weights: 54
initial value 364.971274
iter 10 value 271.395790
iter 20 value 244.145422
iter 30 value 242.605288
iter 40 value 242.582581
final value 242.582571
converged
# weights: 136
initial value 396.424183
iter 10 value 237.760082
iter 20 value 184.252872
iter 30 value 172.970787
iter 40 value 169.964963
iter 50 value 162.856645
iter 60 value 156.048389
iter 70 value 153.641309
iter 80 value 153.526268
final value 153.525882
converged
# weights: 218
initial value 353.044645
iter 10 value 255.838598
iter 20 value 169.822395
iter 30 value 146.694730
iter 40 value 134.222028
iter 50 value 129.420721
iter 60 value 126.898300
iter 70 value 126.092284
iter 80 value 125.040455
iter 90 value 123.788746
iter 100 value 123.611325
final value 123.611325
stopped after 100 iterations
# weights: 54
initial value 338.672995
iter 10 value 250.254543
iter 20 value 240.727854
iter 30 value 231.588847
iter 40 value 223.857166
iter 50 value 218.183681
iter 60 value 216.346743
iter 70 value 216.127864
iter 80 value 216.021109
iter 90 value 215.594922
iter 100 value 214.826657
final value 214.826657
stopped after 100 iterations
# weights: 136
initial value 339.532305
iter 10 value 214.579213
iter 20 value 172.675593
iter 30 value 153.468211
iter 40 value 135.687293
iter 50 value 129.366811
iter 60 value 125.103761
iter 70 value 123.983279
iter 80 value 122.951958
iter 90 value 121.310878
iter 100 value 119.452552
final value 119.452552
stopped after 100 iterations
# weights: 218
initial value 363.330491
iter 10 value 169.623283
iter 20 value 94.774066
iter 30 value 52.280350
iter 40 value 29.077859
iter 50 value 22.496873
iter 60 value 20.213651
iter 70 value 18.762369
iter 80 value 18.026843
iter 90 value 15.667944
iter 100 value 12.566888
final value 12.566888
stopped after 100 iterations
# weights: 54
initial value 336.090437
iter 10 value 241.499173
iter 20 value 203.005091
iter 30 value 174.002750
iter 40 value 162.497670
iter 50 value 149.706755
iter 60 value 146.011161
iter 70 value 144.195873
iter 80 value 142.684559
iter 90 value 140.466694
iter 100 value 138.908568
final value 138.908568
stopped after 100 iterations
# weights: 136
initial value 345.226187
iter 10 value 202.706019
iter 20 value 115.311655
iter 30 value 83.253974
iter 40 value 76.996420
iter 50 value 74.719720
iter 60 value 73.664267
iter 70 value 73.409066
iter 80 value 73.136775
iter 90 value 72.956884
iter 100 value 72.926574
final value 72.926574
stopped after 100 iterations
# weights: 218
initial value 388.601181
iter 10 value 204.328033
iter 20 value 121.498376
iter 30 value 58.564500
iter 40 value 22.922942
iter 50 value 12.935922
iter 60 value 10.867554
iter 70 value 8.415969
iter 80 value 7.452232
iter 90 value 7.352243
iter 100 value 7.341250
final value 7.341250
stopped after 100 iterations
# weights: 54
initial value 368.561773
iter 10 value 290.917923
iter 20 value 248.309317
iter 30 value 244.895918
iter 40 value 241.734384
iter 50 value 241.546923
iter 60 value 241.536786
final value 241.536775
converged
# weights: 136
initial value 374.894785
iter 10 value 228.225455
iter 20 value 173.620154
iter 30 value 159.200829
iter 40 value 157.366975
iter 50 value 153.525747
iter 60 value 153.007056
iter 70 value 153.001710
final value 153.001663
converged
# weights: 218
initial value 333.308723
iter 10 value 215.265984
iter 20 value 154.450134
iter 30 value 128.226747
iter 40 value 122.656784
iter 50 value 121.049131
iter 60 value 119.978470
iter 70 value 119.604559
iter 80 value 119.390855
iter 90 value 118.495848
iter 100 value 117.847753
final value 117.847753
stopped after 100 iterations
# weights: 54
initial value 348.287064
iter 10 value 306.673347
iter 20 value 230.546679
iter 30 value 200.788345
iter 40 value 188.307474
iter 50 value 183.231151
iter 60 value 181.541043
iter 70 value 180.902740
iter 80 value 180.181211
iter 90 value 179.450250
iter 100 value 177.712317
final value 177.712317
stopped after 100 iterations
# weights: 136
initial value 355.462492
iter 10 value 227.453010
iter 20 value 167.375441
iter 30 value 132.609343
iter 40 value 120.992347
iter 50 value 111.577000
iter 60 value 106.555198
iter 70 value 102.927552
iter 80 value 99.516050
iter 90 value 93.253910
iter 100 value 89.784210
final value 89.784210
stopped after 100 iterations
# weights: 218
initial value 386.240441
iter 10 value 216.879879
iter 20 value 107.616321
iter 30 value 65.935815
iter 40 value 47.837374
iter 50 value 37.430778
iter 60 value 33.386674
iter 70 value 28.920679
iter 80 value 24.191330
iter 90 value 20.177988
iter 100 value 18.296085
final value 18.296085
stopped after 100 iterations
# weights: 54
initial value 376.495492
iter 10 value 263.793509
iter 20 value 228.993420
iter 30 value 214.571422
iter 40 value 208.438678
iter 50 value 205.354953
iter 60 value 202.834629
iter 70 value 201.325713
iter 80 value 199.731857
iter 90 value 199.131664
iter 100 value 198.855732
final value 198.855732
stopped after 100 iterations
# weights: 136
initial value 357.228725
iter 10 value 211.494108
iter 20 value 107.863586
iter 30 value 57.680880
iter 40 value 40.970494
iter 50 value 32.275346
iter 60 value 25.985922
iter 70 value 24.191713
iter 80 value 23.237025
iter 90 value 22.833822
iter 100 value 22.282667
final value 22.282667
stopped after 100 iterations
# weights: 218
initial value 405.787246
iter 10 value 268.563388
iter 20 value 139.354720
iter 30 value 77.059549
iter 40 value 52.216790
iter 50 value 42.184940
iter 60 value 36.732860
iter 70 value 32.667093
iter 80 value 31.995563
iter 90 value 26.907325
iter 100 value 25.080095
final value 25.080095
stopped after 100 iterations
# weights: 54
initial value 376.110113
iter 10 value 262.126802
iter 20 value 243.358549
iter 30 value 240.796816
iter 40 value 240.428905
final value 240.428559
converged
# weights: 136
initial value 365.920257
iter 10 value 231.499348
iter 20 value 185.308811
iter 30 value 171.256553
iter 40 value 164.215552
iter 50 value 159.375582
iter 60 value 157.848670
iter 70 value 157.657933
iter 80 value 157.624277
final value 157.623686
converged
# weights: 218
initial value 363.187998
iter 10 value 226.729047
iter 20 value 159.548462
iter 30 value 139.008038
iter 40 value 129.611074
iter 50 value 125.722586
iter 60 value 122.330459
iter 70 value 121.194245
iter 80 value 120.465065
iter 90 value 119.532726
iter 100 value 119.206738
final value 119.206738
stopped after 100 iterations
# weights: 54
initial value 347.227562
iter 10 value 263.223252
iter 20 value 223.669332
iter 30 value 207.569503
iter 40 value 199.735836
iter 50 value 192.899882
iter 60 value 191.073010
iter 70 value 189.403372
iter 80 value 188.019212
iter 90 value 179.702263
iter 100 value 173.520756
final value 173.520756
stopped after 100 iterations
# weights: 136
initial value 362.654534
iter 10 value 227.902438
iter 20 value 160.103278
iter 30 value 110.936140
iter 40 value 96.434608
iter 50 value 83.528500
iter 60 value 76.723279
iter 70 value 69.749266
iter 80 value 67.809154
iter 90 value 66.976023
iter 100 value 65.691546
final value 65.691546
stopped after 100 iterations
# weights: 218
initial value 377.917058
iter 10 value 211.903652
iter 20 value 135.291577
iter 30 value 107.118441
iter 40 value 91.973123
iter 50 value 87.512275
iter 60 value 86.763130
iter 70 value 86.130830
iter 80 value 85.839602
iter 90 value 84.697897
iter 100 value 83.646403
final value 83.646403
stopped after 100 iterations
# weights: 54
initial value 362.415367
iter 10 value 259.953094
iter 20 value 225.216492
iter 30 value 210.119595
iter 40 value 204.492185
iter 50 value 200.830247
iter 60 value 193.871242
iter 70 value 186.356313
iter 80 value 184.875130
iter 90 value 183.933796
iter 100 value 180.534403
final value 180.534403
stopped after 100 iterations
# weights: 136
initial value 346.084150
iter 10 value 193.508819
iter 20 value 133.262832
iter 30 value 103.599855
iter 40 value 88.042575
iter 50 value 81.745940
iter 60 value 79.351946
iter 70 value 78.515836
iter 80 value 77.771136
iter 90 value 76.808190
iter 100 value 76.312649
final value 76.312649
stopped after 100 iterations
# weights: 218
initial value 384.333699
iter 10 value 205.141152
iter 20 value 88.537036
iter 30 value 47.391562
iter 40 value 30.545996
iter 50 value 22.303128
iter 60 value 20.448975
iter 70 value 20.001120
iter 80 value 19.825814
iter 90 value 19.801371
iter 100 value 19.778055
final value 19.778055
stopped after 100 iterations
# weights: 54
initial value 343.109108
iter 10 value 276.815384
iter 20 value 241.204076
iter 30 value 236.535298
iter 40 value 236.285007
final value 236.284623
converged
# weights: 136
initial value 363.729285
iter 10 value 238.681201
iter 20 value 171.559276
iter 30 value 154.536236
iter 40 value 151.897850
iter 50 value 151.333679
iter 60 value 149.478255
iter 70 value 148.639158
iter 80 value 148.499258
iter 90 value 148.497748
final value 148.497745
converged
# weights: 218
initial value 374.178847
iter 10 value 217.341267
iter 20 value 148.654059
iter 30 value 136.269798
iter 40 value 130.814073
iter 50 value 123.919987
iter 60 value 121.942053
iter 70 value 121.510036
iter 80 value 121.448088
iter 90 value 120.981532
iter 100 value 120.749641
final value 120.749641
stopped after 100 iterations
# weights: 54
initial value 352.689939
iter 10 value 283.226661
iter 20 value 259.658105
iter 30 value 252.068903
iter 40 value 249.842110
iter 50 value 249.492987
iter 60 value 249.414055
iter 70 value 249.295573
iter 80 value 249.263487
iter 90 value 249.049111
iter 100 value 248.937216
final value 248.937216
stopped after 100 iterations
# weights: 136
initial value 349.304723
iter 10 value 192.734507
iter 20 value 112.449302
iter 30 value 74.236107
iter 40 value 58.459078
iter 50 value 53.428843
iter 60 value 51.543513
iter 70 value 50.295489
iter 80 value 49.044906
iter 90 value 45.320418
iter 100 value 43.294486
final value 43.294486
stopped after 100 iterations
# weights: 218
initial value 418.977414
iter 10 value 194.594812
iter 20 value 83.154469
iter 30 value 45.444406
iter 40 value 30.021751
iter 50 value 24.885149
iter 60 value 23.260368
iter 70 value 21.532686
iter 80 value 18.453428
iter 90 value 16.355392
iter 100 value 14.760503
final value 14.760503
stopped after 100 iterations
# weights: 54
initial value 353.495312
iter 10 value 266.175100
iter 20 value 226.595458
iter 30 value 204.266060
iter 40 value 177.329156
iter 50 value 161.734437
iter 60 value 157.853386
iter 70 value 153.134607
iter 80 value 150.623645
iter 90 value 149.089362
iter 100 value 147.091962
final value 147.091962
stopped after 100 iterations
# weights: 136
initial value 369.540819
iter 10 value 250.104178
iter 20 value 165.409424
iter 30 value 116.352563
iter 40 value 89.816418
iter 50 value 69.335820
iter 60 value 58.413225
iter 70 value 49.506862
iter 80 value 45.658212
iter 90 value 43.570328
iter 100 value 42.069415
final value 42.069415
stopped after 100 iterations
# weights: 218
initial value 413.951136
iter 10 value 200.837509
iter 20 value 107.441462
iter 30 value 62.863231
iter 40 value 37.920226
iter 50 value 23.801340
iter 60 value 18.974729
iter 70 value 16.967879
iter 80 value 14.894140
iter 90 value 14.348272
iter 100 value 13.688288
final value 13.688288
stopped after 100 iterations
# weights: 54
initial value 364.377866
iter 10 value 266.815874
iter 20 value 243.527576
iter 30 value 237.235405
iter 40 value 235.828113
iter 50 value 235.768685
final value 235.768594
converged
# weights: 136
initial value 350.310395
iter 10 value 246.956068
iter 20 value 180.337240
iter 30 value 159.381821
iter 40 value 152.801969
iter 50 value 147.431795
iter 60 value 146.423746
iter 70 value 146.407587
iter 80 value 146.406898
final value 146.406892
converged
# weights: 218
initial value 393.548408
iter 10 value 250.470004
iter 20 value 181.308253
iter 30 value 143.478997
iter 40 value 130.106176
iter 50 value 121.216660
iter 60 value 118.979337
iter 70 value 118.739942
iter 80 value 118.679525
iter 90 value 118.673527
iter 100 value 118.672002
final value 118.672002
stopped after 100 iterations
# weights: 54
initial value 342.439253
iter 10 value 240.810759
iter 20 value 214.741601
iter 30 value 199.313642
iter 40 value 190.669332
iter 50 value 184.023508
iter 60 value 182.643951
iter 70 value 179.015420
iter 80 value 175.116142
iter 90 value 163.216545
iter 100 value 155.031907
final value 155.031907
stopped after 100 iterations
# weights: 136
initial value 344.502143
iter 10 value 216.837463
iter 20 value 130.757263
iter 30 value 89.198967
iter 40 value 76.203075
iter 50 value 63.891913
iter 60 value 59.710570
iter 70 value 57.487687
iter 80 value 54.721103
iter 90 value 50.461505
iter 100 value 49.580102
final value 49.580102
stopped after 100 iterations
# weights: 218
initial value 361.305421
iter 10 value 211.164626
iter 20 value 75.755760
iter 30 value 28.976871
iter 40 value 16.915610
iter 50 value 12.728486
iter 60 value 10.599937
iter 70 value 8.679552
iter 80 value 7.761057
iter 90 value 7.208262
iter 100 value 6.602483
final value 6.602483
stopped after 100 iterations
# weights: 54
initial value 353.813307
iter 10 value 258.130608
iter 20 value 245.069850
iter 30 value 238.488131
iter 40 value 236.264474
iter 50 value 234.392869
iter 60 value 230.119483
iter 70 value 225.596407
iter 80 value 219.926299
iter 90 value 218.649093
iter 100 value 218.254828
final value 218.254828
stopped after 100 iterations
# weights: 136
initial value 337.049121
iter 10 value 194.785203
iter 20 value 131.335708
iter 30 value 100.458134
iter 40 value 91.668384
iter 50 value 77.877765
iter 60 value 70.033784
iter 70 value 67.205940
iter 80 value 65.432442
iter 90 value 64.749250
iter 100 value 64.414010
final value 64.414010
stopped after 100 iterations
# weights: 218
initial value 352.784934
iter 10 value 196.911384
iter 20 value 117.425119
iter 30 value 81.046657
iter 40 value 54.068403
iter 50 value 38.474900
iter 60 value 34.067729
iter 70 value 31.222303
iter 80 value 30.481333
iter 90 value 30.079590
iter 100 value 29.968830
final value 29.968830
stopped after 100 iterations
# weights: 54
initial value 362.041697
iter 10 value 274.759767
iter 20 value 243.414877
iter 30 value 241.278191
iter 40 value 241.196737
final value 241.196702
converged
# weights: 136
initial value 342.673998
iter 10 value 227.346079
iter 20 value 170.864564
iter 30 value 158.335921
iter 40 value 155.983561
iter 50 value 154.939393
iter 60 value 154.894279
iter 70 value 154.892764
final value 154.892755
converged
# weights: 218
initial value 375.413110
iter 10 value 231.685443
iter 20 value 165.830899
iter 30 value 150.746566
iter 40 value 138.760541
iter 50 value 125.368799
iter 60 value 122.871024
iter 70 value 120.405930
iter 80 value 118.124074
iter 90 value 116.121665
iter 100 value 115.746321
final value 115.746321
stopped after 100 iterations
# weights: 54
initial value 334.298849
iter 10 value 267.648013
iter 20 value 216.596753
iter 30 value 190.126100
iter 40 value 169.241400
iter 50 value 156.081615
iter 60 value 151.851363
iter 70 value 139.891753
iter 80 value 137.007281
iter 90 value 132.036113
iter 100 value 131.119286
final value 131.119286
stopped after 100 iterations
# weights: 136
initial value 354.915425
iter 10 value 226.333822
iter 20 value 158.795667
iter 30 value 133.070521
iter 40 value 110.231889
iter 50 value 89.732556
iter 60 value 81.692444
iter 70 value 75.891710
iter 80 value 71.897530
iter 90 value 69.287961
iter 100 value 67.159029
final value 67.159029
stopped after 100 iterations
# weights: 218
initial value 402.574490
iter 10 value 225.449538
iter 20 value 125.678580
iter 30 value 63.454002
iter 40 value 39.009359
iter 50 value 35.207665
iter 60 value 34.178509
iter 70 value 33.439945
iter 80 value 32.736543
iter 90 value 31.478149
iter 100 value 26.344772
final value 26.344772
stopped after 100 iterations
# weights: 54
initial value 351.774169
iter 10 value 304.663209
iter 20 value 240.241936
iter 30 value 213.052432
iter 40 value 200.301896
iter 50 value 195.550007
iter 60 value 195.062263
iter 70 value 194.761870
iter 80 value 194.442547
iter 90 value 194.294996
iter 100 value 194.173511
final value 194.173511
stopped after 100 iterations
# weights: 136
initial value 348.059476
iter 10 value 212.421083
iter 20 value 131.017051
iter 30 value 97.204736
iter 40 value 81.666361
iter 50 value 71.942686
iter 60 value 67.830867
iter 70 value 65.212009
iter 80 value 62.931537
iter 90 value 59.767672
iter 100 value 56.908968
final value 56.908968
stopped after 100 iterations
# weights: 218
initial value 392.410438
iter 10 value 187.430829
iter 20 value 96.013003
iter 30 value 64.053665
iter 40 value 39.778807
iter 50 value 24.775579
iter 60 value 18.163908
iter 70 value 16.015093
iter 80 value 15.210727
iter 90 value 15.097083
iter 100 value 15.086673
final value 15.086673
stopped after 100 iterations
# weights: 54
initial value 354.724707
iter 10 value 287.997529
iter 20 value 254.146293
iter 30 value 239.501679
iter 40 value 237.558893
iter 50 value 236.732284
iter 60 value 236.725712
iter 60 value 236.725711
iter 60 value 236.725711
final value 236.725711
converged
# weights: 136
initial value 359.539086
iter 10 value 238.350588
iter 20 value 170.831528
iter 30 value 156.955234
iter 40 value 155.388033
iter 50 value 154.780055
iter 60 value 154.501169
iter 70 value 154.430536
iter 80 value 154.430296
iter 80 value 154.430295
iter 80 value 154.430295
final value 154.430295
converged
# weights: 218
initial value 357.797260
iter 10 value 221.791893
iter 20 value 179.058929
iter 30 value 151.167489
iter 40 value 140.441155
iter 50 value 130.148463
iter 60 value 127.157401
iter 70 value 124.665360
iter 80 value 122.188933
iter 90 value 120.747672
iter 100 value 120.421806
final value 120.421806
stopped after 100 iterations
# weights: 54
initial value 346.272525
iter 10 value 258.059969
iter 20 value 215.605894
iter 30 value 192.651080
iter 40 value 184.425581
iter 50 value 176.680216
iter 60 value 166.257268
iter 70 value 162.551866
iter 80 value 160.512608
iter 90 value 156.717387
iter 100 value 151.226668
final value 151.226668
stopped after 100 iterations
# weights: 136
initial value 351.188852
iter 10 value 233.780367
iter 20 value 169.853461
iter 30 value 135.291343
iter 40 value 122.340449
iter 50 value 117.958377
iter 60 value 115.724435
iter 70 value 114.798693
iter 80 value 113.839090
iter 90 value 112.708332
iter 100 value 111.521571
final value 111.521571
stopped after 100 iterations
# weights: 218
initial value 357.406238
iter 10 value 197.483168
iter 20 value 94.780467
iter 30 value 51.971672
iter 40 value 31.894819
iter 50 value 24.282965
iter 60 value 22.460617
iter 70 value 19.565605
iter 80 value 16.329330
iter 90 value 10.929384
iter 100 value 8.941709
final value 8.941709
stopped after 100 iterations
# weights: 54
initial value 336.252374
iter 10 value 267.048044
iter 20 value 241.394479
iter 30 value 232.516182
iter 40 value 227.896790
iter 50 value 227.088875
iter 60 value 225.829291
iter 70 value 224.718444
iter 80 value 224.423279
iter 90 value 224.272467
iter 100 value 224.126824
final value 224.126824
stopped after 100 iterations
# weights: 136
initial value 377.325243
iter 10 value 211.788644
iter 20 value 127.266043
iter 30 value 97.502360
iter 40 value 84.124351
iter 50 value 71.030885
iter 60 value 64.641469
iter 70 value 63.688441
iter 80 value 61.176219
iter 90 value 60.346745
iter 100 value 59.518575
final value 59.518575
stopped after 100 iterations
# weights: 218
initial value 385.265851
iter 10 value 236.177432
iter 20 value 102.861451
iter 30 value 39.622978
iter 40 value 12.464348
iter 50 value 4.900921
iter 60 value 4.196989
iter 70 value 4.169767
iter 80 value 4.163565
iter 90 value 4.159904
iter 100 value 4.159297
final value 4.159297
stopped after 100 iterations
# weights: 54
initial value 359.633536
iter 10 value 311.800942
iter 20 value 254.435466
iter 30 value 238.569520
iter 40 value 236.351482
iter 50 value 236.143273
iter 60 value 236.123350
final value 236.123306
converged
# weights: 136
initial value 365.345152
iter 10 value 239.691429
iter 20 value 165.615217
iter 30 value 153.639232
iter 40 value 150.518223
iter 50 value 146.067797
iter 60 value 145.790203
final value 145.788670
converged
# weights: 218
initial value 383.048195
iter 10 value 212.203973
iter 20 value 146.037092
iter 30 value 133.598058
iter 40 value 128.357351
iter 50 value 126.396587
iter 60 value 124.021205
iter 70 value 121.671551
iter 80 value 121.277252
iter 90 value 120.879872
iter 100 value 120.781809
final value 120.781809
stopped after 100 iterations
# weights: 54
initial value 364.660354
iter 10 value 258.084894
iter 20 value 234.262908
iter 30 value 216.402884
iter 40 value 211.523376
iter 50 value 209.731906
iter 60 value 208.083571
iter 70 value 202.120221
iter 80 value 196.720676
iter 90 value 193.072341
iter 100 value 184.049676
final value 184.049676
stopped after 100 iterations
# weights: 136
initial value 364.760669
iter 10 value 206.096044
iter 20 value 135.337645
iter 30 value 92.972052
iter 40 value 70.568418
iter 50 value 54.990481
iter 60 value 49.420948
iter 70 value 46.344860
iter 80 value 44.616966
iter 90 value 42.995117
iter 100 value 41.164352
final value 41.164352
stopped after 100 iterations
# weights: 218
initial value 387.524635
iter 10 value 233.512765
iter 20 value 130.116102
iter 30 value 68.387348
iter 40 value 48.152335
iter 50 value 37.750475
iter 60 value 27.573377
iter 70 value 19.422958
iter 80 value 15.679865
iter 90 value 13.986456
iter 100 value 13.063084
final value 13.063084
stopped after 100 iterations
# weights: 54
initial value 376.488586
iter 10 value 250.654834
iter 20 value 209.395371
iter 30 value 187.004793
iter 40 value 172.043001
iter 50 value 166.354211
iter 60 value 164.877564
iter 70 value 164.297970
iter 80 value 162.800271
iter 90 value 162.550859
iter 100 value 162.423874
final value 162.423874
stopped after 100 iterations
# weights: 136
initial value 369.731331
iter 10 value 264.698891
iter 20 value 125.946977
iter 30 value 96.207153
iter 40 value 79.122930
iter 50 value 70.532343
iter 60 value 64.150486
iter 70 value 59.778772
iter 80 value 57.148468
iter 90 value 56.630882
iter 100 value 55.963278
final value 55.963278
stopped after 100 iterations
# weights: 218
initial value 394.381461
iter 10 value 262.439696
iter 20 value 158.097823
iter 30 value 116.784049
iter 40 value 90.775147
iter 50 value 63.661619
iter 60 value 52.311797
iter 70 value 48.066620
iter 80 value 43.581563
iter 90 value 40.902612
iter 100 value 39.783683
final value 39.783683
stopped after 100 iterations
# weights: 54
initial value 377.512264
iter 10 value 298.023744
iter 20 value 261.607362
iter 30 value 247.960815
iter 40 value 247.213145
iter 50 value 247.186744
final value 247.186629
converged
# weights: 136
initial value 400.912241
iter 10 value 277.588817
iter 20 value 195.079436
iter 30 value 176.130936
iter 40 value 168.297753
iter 50 value 162.539598
iter 60 value 153.972176
iter 70 value 153.333836
iter 80 value 153.320739
final value 153.320662
converged
# weights: 218
initial value 353.629973
iter 10 value 216.487441
iter 20 value 166.544901
iter 30 value 145.465014
iter 40 value 140.573468
iter 50 value 134.239532
iter 60 value 130.558578
iter 70 value 128.671432
iter 80 value 126.210569
iter 90 value 124.823081
iter 100 value 124.652372
final value 124.652372
stopped after 100 iterations
# weights: 54
initial value 359.571579
iter 10 value 285.324232
iter 20 value 226.439614
iter 30 value 201.467195
iter 40 value 187.861435
iter 50 value 178.461930
iter 60 value 168.612818
iter 70 value 158.473194
iter 80 value 152.597040
iter 90 value 150.446501
iter 100 value 148.805156
final value 148.805156
stopped after 100 iterations
# weights: 136
initial value 361.687273
iter 10 value 199.064497
iter 20 value 144.257290
iter 30 value 104.646517
iter 40 value 73.618803
iter 50 value 59.907368
iter 60 value 54.333704
iter 70 value 50.699544
iter 80 value 49.499403
iter 90 value 48.571826
iter 100 value 47.296426
final value 47.296426
stopped after 100 iterations
# weights: 218
initial value 354.011175
iter 10 value 201.979728
iter 20 value 85.879984
iter 30 value 33.776842
iter 40 value 17.644340
iter 50 value 12.054319
iter 60 value 9.100417
iter 70 value 6.475145
iter 80 value 5.713809
iter 90 value 5.089691
iter 100 value 4.716540
final value 4.716540
stopped after 100 iterations
# weights: 218
initial value 452.708012
iter 10 value 317.019436
iter 20 value 213.775765
iter 30 value 181.185238
iter 40 value 163.169790
iter 50 value 148.913220
iter 60 value 142.665565
iter 70 value 139.795054
iter 80 value 138.621954
iter 90 value 138.264196
iter 100 value 138.001658
final value 138.001658
stopped after 100 iterations
fittednnet <- predict(nnet, testSet_final)
cf_nnet <- confusionMatrix(reference = testSet_final$final_species_name,
data = fittednnet,
mode = "everything")
# SVM
set.seed(42)
svm_linear <- train(final_species_name ~.,
data = trainingSet_final,
method = "svmLinear",
metric = "Accuracy",
trControl = ctrl)
fittedsvm <- predict(svm_linear, testSet_final)
cf_svm <- confusionMatrix(reference = testSet_final$final_species_name,
data = fittedsvm,
mode = "everything")
# Random forest
set.seed(42)
rf <- train(final_species_name ~.,
data = trainingSet_final,
method = "rf",
metric = "Accuracy",
trControl = ctrl)
fittedrf <- predict(rf, testSet_final)
cf_rf <- confusionMatrix(reference = testSet_final$final_species_name,
data = fittedrf,
mode = "everything")
# Random forest
set.seed(42)
rf <- train(final_species_name ~.,
data = trainingSet_final,
method = "rf",
metric = "Accuracy",
trControl = ctrl)
fittedrf <- predict(rf, testSet_final)
cf_rf <- confusionMatrix(reference = testSet_final$final_species_name,
data = fittedrf,
mode = "everything")
# Logit
set.seed(42)
logit <- train(final_species_name ~.,
data = trainingSet_final,
method = "LogitBoost",
metric = "Accuracy",
trControl = ctrl)
fittedlogit <- predict(rf, testSet_final)
cf_logit <- confusionMatrix(reference = testSet_final$final_species_name,
data = fittedlogit,
mode = "everything")
# KNN
set.seed(42)
knn_train <- train(final_species_name ~.,
data = trainingSet_final,
method = "knn",
metric = "Accuracy",
trControl = ctrl)
fittedknn <- predict(knn_train, testSet_final)
cf_knn <- confusionMatrix(reference = testSet_final$final_species_name,
data = fittedknn,
mode = "everything") Comparing the performance of different ML algorithms
resamps <- resamples(list(NNET = nnet,
RPART = rpart,
RF = rf,
SVMLINEAR = svm_linear,
LOGITBOOST = logit,
KNN = knn_train))
resamps
Call:
resamples.default(x = list(NNET = nnet, RPART = rpart, RF = rf, SVMLINEAR
= svm_linear, LOGITBOOST = logit, KNN = knn_train))
Models: NNET, RPART, RF, SVMLINEAR, LOGITBOOST, KNN
Number of resamples: 25
Performance metrics: Accuracy, Kappa
Time estimates for: everything, final model fit
# Boxplot comparing different algorithms
theme1 <- trellis.par.get()
theme1$plot.symbol$col = rgb(.2, .2, .2, .4)
theme1$plot.symbol$pch = 16
theme1$plot.line$col = rgb(1, 0, 0, .7)
theme1$plot.line$lwd <- 2
trellis.par.set(theme1)
bwplot(resamps, layout = c(2, 1)) resamps2 <- resamples(list(RF = rf,
LOGITBOOST = logit))
resamps2
Call:
resamples.default(x = list(RF = rf, LOGITBOOST = logit))
Models: RF, LOGITBOOST
Number of resamples: 25
Performance metrics: Accuracy, Kappa
Time estimates for: everything, final model fit
# xyplot plots to compare models
xyplot(resamps2, models=c("RF", "LOGITBOOST"))ROC curves
# Probabilities prediction
y_scores_logit <- predict(logit, type = 'prob')
pred <-"pred"
make.names(paste(names(y_scores_logit), pred)) [1] "E_bibronii.pred" "E_bilineatus.pred" "E_boulengeri.pred"
[4] "E_brasiliensis.pred" "E_capetinga.pred" "E_catenatus.pred"
[7] "E_catenatus2.pred" "E_erythroceneus.pred" "E_iheringii.pred"
[10] "E_leechii.pred" "E_perditus.pred" "E_perditus2.pred"
[13] "E_pictus.pred"
colnames(y_scores_logit)[c(1:13)] <- make.names(paste(names(y_scores_logit)[c(1:13)], pred))
# One hot encode the labels in order to plot them
y_onehot <- dummy_cols(trainingSet_final$final_species_name)
categories <- unique(trainingSet_final$trainingSet_final)
categoriesNULL
colnames(y_onehot) <- c("drop","E_boulengeri", "E_brasiliensis",
"E_capetinga", "E_perditus2", "E_bibronii",
"E_bilineatus", "E_catenatus2", "E_erythroceneus",
"E_pictus", "E_iheringii","E_perditus",
"E_leechii", "E_catenatus")
y_onehot <- subset(y_onehot, select = -c(drop))
# Getting scores for each species
scores_logit_binded <- cbind(y_scores_logit, y_onehot)
str(scores_logit_binded)'data.frame': 167 obs. of 26 variables:
$ E_bibronii.pred : num 0.944 0.914 0.873 0.868 0.905 ...
$ E_bilineatus.pred : num 0.008646 0.000154 0.001088 0.001081 0.008289 ...
$ E_boulengeri.pred : num 0.001177 0.000154 0.001088 0.001081 0.008289 ...
$ E_brasiliensis.pred : num 0.008646 0.008366 0.056632 0.007945 0.000153 ...
$ E_capetinga.pred : num 0.001177 0.000154 0.001088 0.000146 0.000153 ...
$ E_catenatus.pred : num 8.65e-03 8.37e-03 1.47e-04 1.46e-04 2.07e-05 ...
$ E_catenatus2.pred : num 0.000159 0.000154 0.000147 0.001081 0.058733 ...
$ E_erythroceneus.pred: num 0.00865 0.05928 0.05663 0.0563 0.00829 ...
$ E_iheringii.pred : num 0.00865 0.00114 0.00109 0.0563 0.00113 ...
$ E_leechii.pred : num 2.16e-05 2.09e-05 1.99e-05 1.98e-05 2.07e-05 ...
$ E_perditus.pred : num 2.16e-05 2.09e-05 1.99e-05 1.98e-05 1.13e-03 ...
$ E_perditus2.pred : num 0.00865 0.00837 0.00109 0.00794 0.00829 ...
$ E_pictus.pred : num 1.18e-03 2.09e-05 7.99e-03 1.46e-04 1.53e-04 ...
$ E_boulengeri : int 1 1 1 1 1 1 1 1 1 1 ...
$ E_brasiliensis : int 0 0 0 0 0 0 0 0 0 0 ...
$ E_capetinga : int 0 0 0 0 0 0 0 0 0 0 ...
$ E_perditus2 : int 0 0 0 0 0 0 0 0 0 0 ...
$ E_bibronii : int 0 0 0 0 0 0 0 0 0 0 ...
$ E_bilineatus : int 0 0 0 0 0 0 0 0 0 0 ...
$ E_catenatus2 : int 0 0 0 0 0 0 0 0 0 0 ...
$ E_erythroceneus : int 0 0 0 0 0 0 0 0 0 0 ...
$ E_pictus : int 0 0 0 0 0 0 0 0 0 0 ...
$ E_iheringii : int 0 0 0 0 0 0 0 0 0 0 ...
$ E_perditus : int 0 0 0 0 0 0 0 0 0 0 ...
$ E_leechii : int 0 0 0 0 0 0 0 0 0 0 ...
$ E_catenatus : int 0 0 0 0 0 0 0 0 0 0 ...
scores_logit_binded$E_boulengeri <- as.factor(scores_logit_binded$E_boulengeri)
roc_boulengeri <- roc_curve(data = scores_logit_binded, E_boulengeri, E_boulengeri.pred)
roc_boulengeri# A tibble: 166 x 3
.threshold specificity sensitivity
<dbl> <dbl> <dbl>
1 -Inf 0 1
2 0.0000164 0 1
3 0.0000164 0 0.993
4 0.0000352 0 0.987
5 0.0000594 0 0.98
6 0.0000726 0 0.973
7 0.0000894 0 0.967
8 0.0000922 0 0.96
9 0.000100 0 0.953
10 0.000102 0 0.947
# i 156 more rows
roc_boulengeri$specificity <- 1 - roc_boulengeri$specificity
colnames(roc_boulengeri) <- c('threshold', 'tpr', 'fpr')
auc_boulengeri <- roc_auc(data = scores_logit_binded, E_boulengeri, E_boulengeri.pred)
auc_boulengeri <- auc_boulengeri$.estimate
boulengeri <- paste('boulengeri (AUC=',toString(round(1-auc_boulengeri,2)),')',sep = '')
scores_logit_binded$E_brasiliensis <- as.factor(scores_logit_binded$E_brasiliensis)
roc_brasiliensis <- roc_curve(data = scores_logit_binded, E_brasiliensis, E_brasiliensis.pred)
roc_brasiliensis$specificity <- 1 - roc_brasiliensis$specificity
colnames(roc_brasiliensis) <- c('threshold', 'tpr', 'fpr')
auc_brasiliensis <- roc_auc(data = scores_logit_binded, E_brasiliensis, E_brasiliensis.pred)
auc_brasiliensis <- auc_brasiliensis$.estimate
brasiliensis <- paste('brasiliensis (AUC=',toString(round(1-auc_brasiliensis,2)),')', sep = '')
scores_logit_binded$E_capetinga <- as.factor(scores_logit_binded$E_capetinga)
roc_capetinga <- roc_curve(data = scores_logit_binded, E_capetinga, E_capetinga.pred)
roc_capetinga$specificity <- 1 - roc_capetinga$specificity
colnames(roc_capetinga) <- c('threshold', 'tpr', 'fpr')
auc_capetinga <- roc_auc(data = scores_logit_binded, E_capetinga, E_capetinga.pred)
auc_capetinga <- auc_capetinga$.estimate
capetinga <- paste('capetinga (AUC=',toString(round(1-auc_capetinga,2)),')',sep = '')
scores_logit_binded$E_perditus2 <- as.factor(scores_logit_binded$E_perditus2)
roc_perditus2 <- roc_curve(data = scores_logit_binded, E_perditus2, E_perditus2.pred)
roc_perditus2$specificity <- 1 - roc_perditus2$specificity
colnames(roc_perditus2) <- c('threshold', 'tpr', 'fpr')
auc_perditus2 <- roc_auc(data = scores_logit_binded, E_perditus2, E_perditus2.pred)
auc_perditus2 <- auc_perditus2$.estimate
perditus2 <- paste('perditus2 (AUC=',toString(round(1-auc_perditus2,2)),')',sep = '')
scores_logit_binded$E_bibronii <- as.factor(scores_logit_binded$E_bibronii)
roc_bibronii <- roc_curve(data = scores_logit_binded, E_bibronii, E_bibronii.pred)
roc_bibronii$specificity <- 1 - roc_bibronii$specificity
colnames(roc_bibronii) <- c('threshold', 'tpr', 'fpr')
auc_bibronii <- roc_auc(data = scores_logit_binded, E_bibronii, E_bibronii.pred)
auc_bibronii <- auc_bibronii$.estimate
bibronii <- paste('bibronii (AUC=',toString(round(1-auc_bibronii, 2)),')',sep = '')
scores_logit_binded$E_bilineatus <- as.factor(scores_logit_binded$E_bilineatus)
roc_bilineatus <- roc_curve(data = scores_logit_binded, E_bilineatus, E_bilineatus.pred)
roc_bilineatus$specificity <- 1 - roc_bilineatus$specificity
colnames(roc_bilineatus) <- c('threshold', 'tpr', 'fpr')
auc_bilineatus <- roc_auc(data = scores_logit_binded, E_bilineatus, E_bilineatus.pred)
auc_bilineatus <- auc_bilineatus$.estimate
bilineatus <- paste('bilineatus (AUC=',toString(round(1-auc_bilineatus, 2)),')',sep = '')
scores_logit_binded$E_catenatus2 <- as.factor(scores_logit_binded$E_catenatus2)
roc_catenatus2 <- roc_curve(data = scores_logit_binded, E_catenatus2, E_catenatus2.pred)
roc_catenatus2$specificity <- 1 - roc_catenatus2$specificity
colnames(roc_catenatus2) <- c('threshold', 'tpr', 'fpr')
auc_catenatus2 <- roc_auc(data = scores_logit_binded, E_catenatus2, E_catenatus2.pred)
auc_catenatus2 <- auc_catenatus2$.estimate
catenatus2 <- paste('catenatus2 (AUC=',toString(round(1-auc_catenatus2, 2)),')',sep = '')
scores_logit_binded$E_erythroceneus <- as.factor(scores_logit_binded$E_erythroceneus)
roc_erythroceneus <- roc_curve(data = scores_logit_binded, E_erythroceneus, E_erythroceneus.pred)
roc_erythroceneus$specificity <- 1 - roc_erythroceneus$specificity
colnames(roc_erythroceneus) <- c('threshold', 'tpr', 'fpr')
auc_erythroceneus <- roc_auc(data = scores_logit_binded, E_erythroceneus, E_erythroceneus.pred)
auc_erythroceneus <- auc_erythroceneus$.estimate
erythroceneus <- paste('erythroceneus (AUC=',toString(round(1-auc_erythroceneus, 2)),')',sep = '')
scores_logit_binded$E_pictus <- as.factor(scores_logit_binded$E_pictus)
roc_pictus <- roc_curve(data = scores_logit_binded, E_pictus, E_pictus.pred)
roc_pictus$specificity <- 1 - roc_pictus$specificity
colnames(roc_pictus) <- c('threshold', 'tpr', 'fpr')
auc_pictus <- roc_auc(data = scores_logit_binded, E_pictus, E_pictus.pred)
auc_pictus <- auc_pictus$.estimate
pictus <- paste('pictus (AUC=',toString(round(1-auc_pictus, 2)),')',sep = '')
scores_logit_binded$E_iheringii <- as.factor(scores_logit_binded$E_iheringii)
roc_iheringii <- roc_curve(data = scores_logit_binded, E_iheringii, E_iheringii.pred)
roc_iheringii$specificity <- 1 - roc_iheringii$specificity
colnames(roc_iheringii) <- c('threshold', 'tpr', 'fpr')
auc_iheringii <- roc_auc(data = scores_logit_binded, E_iheringii, E_iheringii.pred)
auc_iheringii <- auc_iheringii$.estimate
iheringii <- paste('iheringii (AUC=',toString(round(1-auc_iheringii, 2)),')',sep = '')
scores_logit_binded$E_perditus <- as.factor(scores_logit_binded$E_perditus)
roc_perditus <- roc_curve(data = scores_logit_binded, E_perditus, E_perditus.pred)
roc_perditus$specificity <- 1 - roc_perditus$specificity
colnames(roc_perditus) <- c('threshold', 'tpr', 'fpr')
auc_perditus <- roc_auc(data = scores_logit_binded, E_perditus, E_perditus.pred)
auc_perditus <- auc_perditus$.estimate
perditus <- paste('perditus (AUC=',toString(round(1-auc_perditus, 2)),')',sep = '')
scores_logit_binded$E_leechii <- as.factor(scores_logit_binded$E_leechii)
roc_leechii <- roc_curve(data = scores_logit_binded, E_leechii, E_leechii.pred)
roc_leechii$specificity <- 1 - roc_leechii$specificity
colnames(roc_leechii) <- c('threshold', 'tpr', 'fpr')
auc_leechii <- roc_auc(data = scores_logit_binded, E_leechii, E_leechii.pred)
auc_leechii <- auc_leechii$.estimate
leechii <- paste('leechii (AUC=',toString(round(1-auc_leechii, 2)),')',sep = '')
scores_logit_binded$E_catenatus <- as.factor(scores_logit_binded$E_catenatus)
roc_catenatus <- roc_curve(data = scores_logit_binded, E_catenatus, E_catenatus.pred)
roc_catenatus$specificity <- 1 - roc_catenatus$specificity
colnames(roc_catenatus) <- c('threshold', 'tpr', 'fpr')
auc_catenatus <- roc_auc(data = scores_logit_binded, E_catenatus, E_catenatus.pred)
auc_catenatus <- auc_catenatus$.estimate
catenatus <- paste('catenatus (AUC=',toString(round(1-auc_catenatus, 2)),')',sep = '')
# Create an empty figure, and iteratively add a line for each class
fig <- plot_ly()%>%
add_segments(x = 0, xend = 1, y = 0, yend = 1, line = list(dash = "dash", color = 'black'), showlegend = FALSE) %>%
add_trace(data = roc_bibronii,x = ~fpr, y = ~tpr, mode = 'lines', name = bibronii, type = 'scatter')%>%
add_trace(data = roc_bilineatus,x = ~fpr, y = ~tpr, mode = 'lines', name = bilineatus, type = 'scatter')%>%
add_trace(data = roc_boulengeri,x = ~fpr, y = ~tpr, mode = 'lines', name = boulengeri, type = 'scatter')%>%
add_trace(data = roc_brasiliensis,x = ~fpr, y = ~tpr, mode = 'lines', name = brasiliensis, type = 'scatter')%>%
add_trace(data = roc_capetinga,x = ~fpr, y = ~tpr, mode = 'lines', name = capetinga, type = 'scatter')%>%
add_trace(data = roc_catenatus,x = ~fpr, y = ~tpr, mode = 'lines', name = catenatus, type = 'scatter')%>%
add_trace(data = roc_catenatus2,x = ~fpr, y = ~tpr, mode = 'lines', name = catenatus2, type = 'scatter')%>%
add_trace(data = roc_erythroceneus,x = ~fpr, y = ~tpr, mode = 'lines', name = erythroceneus, type = 'scatter')%>%
add_trace(data = roc_iheringii,x = ~fpr, y = ~tpr, mode = 'lines', name = iheringii, type = 'scatter')%>%
add_trace(data = roc_leechii,x = ~fpr, y = ~tpr, mode = 'lines', name = leechii, type = 'scatter')%>%
add_trace(data = roc_perditus,x = ~fpr, y = ~tpr, mode = 'lines', name = perditus, type = 'scatter')%>%
add_trace(data = roc_perditus2,x = ~fpr, y = ~tpr, mode = 'lines', name = perditus2, type = 'scatter')%>%
add_trace(data = roc_pictus,x = ~fpr, y = ~tpr, mode = 'lines', name = pictus, type = 'scatter')%>%
layout(xaxis = list(
title = "False Positive Rate"
), yaxis = list(
title = "True Positive Rate"
),legend = list(x = 100, y = 0.5))
fig