De acuerdo con Mayo Clinic, el cáncer de mama es un tipo de cáncer que se origina en las células de las mamas y puede afectar tanto a hombres como a mujeres; no obstante, es más común en las mujeres.
Entre los síntomas más comunes se encuentran:
Fuente: Cáncer de mama
# install.packages("caret") # Se usa para los algoritmos de aprendizaje automático
library(caret)
## Warning: package 'caret' was built under R version 4.3.2
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.3.2
## Loading required package: lattice
# install.packages("ggplot2") # Para hacer gráficas con mejor diseño
library(ggplot2)
# install.packages("lattice") # Crear gráficos
library(lattice)
# install.packages("datasets") # Usar la base de datos "Iris"
library(datasets)
#install.packages("DataExplorer")
library(DataExplorer)
## Warning: package 'DataExplorer' was built under R version 4.3.2
library(kernlab)
##
## Attaching package: 'kernlab'
## The following object is masked from 'package:ggplot2':
##
## alpha
# install.packages("mlbench")
library(mlbench)
## Warning: package 'mlbench' was built under R version 4.3.2
data(BreastCancer)
df <- data.frame(BreastCancer)
df <- df[, -1] # Eliminar columna "ID"
df <- na.omit(df) # Eliminar NA
# Cambiar tipo de dato
df$Cl.thickness <- as.numeric(df$Cl.thickness)
df$Cell.size <- as.numeric(df$Cell.size)
df$Cell.shape <- as.numeric(df$Cell.shape)
df$Marg.adhesion <- as.numeric(df$Marg.adhesion)
df$Epith.c.size <- as.numeric(df$Epith.c.size)
df$Bare.nuclei <- as.numeric(df$Bare.nuclei)
df$Bl.cromatin <- as.numeric(df$Bl.cromatin)
df$Normal.nucleoli <- as.numeric(df$Normal.nucleoli)
df$Mitoses <- as.numeric(df$Mitoses)
df$Class <- as.factor(df$Class)
summary(df)
## Cl.thickness Cell.size Cell.shape Marg.adhesion
## Min. : 1.000 Min. : 1.000 Min. : 1.000 Min. : 1.00
## 1st Qu.: 2.000 1st Qu.: 1.000 1st Qu.: 1.000 1st Qu.: 1.00
## Median : 4.000 Median : 1.000 Median : 1.000 Median : 1.00
## Mean : 4.442 Mean : 3.151 Mean : 3.215 Mean : 2.83
## 3rd Qu.: 6.000 3rd Qu.: 5.000 3rd Qu.: 5.000 3rd Qu.: 4.00
## Max. :10.000 Max. :10.000 Max. :10.000 Max. :10.00
## Epith.c.size Bare.nuclei Bl.cromatin Normal.nucleoli
## Min. : 1.000 Min. : 1.000 Min. : 1.000 Min. : 1.00
## 1st Qu.: 2.000 1st Qu.: 1.000 1st Qu.: 2.000 1st Qu.: 1.00
## Median : 2.000 Median : 1.000 Median : 3.000 Median : 1.00
## Mean : 3.234 Mean : 3.545 Mean : 3.445 Mean : 2.87
## 3rd Qu.: 4.000 3rd Qu.: 6.000 3rd Qu.: 5.000 3rd Qu.: 4.00
## Max. :10.000 Max. :10.000 Max. :10.000 Max. :10.00
## Mitoses Class
## Min. :1.000 benign :444
## 1st Qu.:1.000 malignant:239
## Median :1.000
## Mean :1.583
## 3rd Qu.:1.000
## Max. :9.000
str(df)
## 'data.frame': 683 obs. of 10 variables:
## $ Cl.thickness : num 5 5 3 6 4 8 1 2 2 4 ...
## $ Cell.size : num 1 4 1 8 1 10 1 1 1 2 ...
## $ Cell.shape : num 1 4 1 8 1 10 1 2 1 1 ...
## $ Marg.adhesion : num 1 5 1 1 3 8 1 1 1 1 ...
## $ Epith.c.size : num 2 7 2 3 2 7 2 2 2 2 ...
## $ Bare.nuclei : num 1 10 2 4 1 10 10 1 1 1 ...
## $ Bl.cromatin : num 3 3 3 3 3 9 3 3 1 2 ...
## $ Normal.nucleoli: num 1 2 1 7 1 7 1 1 1 1 ...
## $ Mitoses : num 1 1 1 1 1 1 1 1 5 1 ...
## $ Class : Factor w/ 2 levels "benign","malignant": 1 1 1 1 1 2 1 1 1 1 ...
## - attr(*, "na.action")= 'omit' Named int [1:16] 24 41 140 146 159 165 236 250 276 293 ...
## ..- attr(*, "names")= chr [1:16] "24" "41" "140" "146" ...
create_report(df)
##
##
## processing file: report.rmd
##
|
| | 0%
|
|. | 2%
|
|.. | 5% [global_options]
|
|... | 7%
|
|.... | 10% [introduce]
|
|.... | 12%
|
|..... | 14% [plot_intro]
|
|...... | 17%
|
|....... | 19% [data_structure]
|
|........ | 21%
|
|......... | 24% [missing_profile]
|
|.......... | 26%
|
|........... | 29% [univariate_distribution_header]
|
|........... | 31%
|
|............ | 33% [plot_histogram]
|
|............. | 36%
|
|.............. | 38% [plot_density]
|
|............... | 40%
|
|................ | 43% [plot_frequency_bar]
|
|................. | 45%
|
|.................. | 48% [plot_response_bar]
|
|.................. | 50%
|
|................... | 52% [plot_with_bar]
|
|.................... | 55%
|
|..................... | 57% [plot_normal_qq]
|
|...................... | 60%
|
|....................... | 62% [plot_response_qq]
|
|........................ | 64%
|
|......................... | 67% [plot_by_qq]
|
|.......................... | 69%
|
|.......................... | 71% [correlation_analysis]
|
|........................... | 74%
|
|............................ | 76% [principal_component_analysis]
|
|............................. | 79%
|
|.............................. | 81% [bivariate_distribution_header]
|
|............................... | 83%
|
|................................ | 86% [plot_response_boxplot]
|
|................................. | 88%
|
|................................. | 90% [plot_by_boxplot]
|
|.................................. | 93%
|
|................................... | 95% [plot_response_scatterplot]
|
|.................................... | 98%
|
|.....................................| 100% [plot_by_scatterplot]
## output file: C:/Users/kathi/OneDrive/Escritorio/report.knit.md
## "C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/pandoc" +RTS -K512m -RTS "C:/Users/kathi/OneDrive/Escritorio/report.knit.md" --to html4 --from markdown+autolink_bare_uris+tex_math_single_backslash --output pandoc31e430f44d3e.html --lua-filter "C:\Users\kathi\AppData\Local\R\win-library\4.3\rmarkdown\rmarkdown\lua\pagebreak.lua" --lua-filter "C:\Users\kathi\AppData\Local\R\win-library\4.3\rmarkdown\rmarkdown\lua\latex-div.lua" --embed-resources --standalone --variable bs3=TRUE --section-divs --table-of-contents --toc-depth 6 --template "C:\Users\kathi\AppData\Local\R\win-library\4.3\rmarkdown\rmd\h\default.html" --no-highlight --variable highlightjs=1 --variable theme=yeti --mathjax --variable "mathjax-url=https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" --include-in-header "C:\Users\kathi\AppData\Local\Temp\Rtmp27hjfK\rmarkdown-str31e47a461ea2.html"
##
## Output created: report.html
plot_missing(df)
plot_histogram(df)
plot_correlation(df)
plot_boxplot(df, by ="Class")
** NOTA: La variable que queremos predecir debe tener formato de FACTOR.**
set.seed(123)
renglones_entrenamiento <- createDataPartition(df$Class, p=0.8, list=FALSE)
entrenamiento <- df[renglones_entrenamiento, ]
prueba <- df[-renglones_entrenamiento, ]
Los métodos más utilizados para modelar aprendizaje automático son:
modelo1<- train(Class ~ ., data= entrenamiento,
method = "svmLinear", # Cambiar
preProcess=c("scale", "center"),
trControl = trainControl(method = "cv", number=10),
tuneGrid= data.frame(C=1)) # Cuando es svmLinear
resultado_entrenamiento1<- predict(modelo1, entrenamiento)
resultado_prueba1<- predict(modelo1, prueba)
# Matriz de Confusión
mcre1<- confusionMatrix(resultado_entrenamiento1, entrenamiento$Class) #Matriz de confusión del resultado del entrenamiento
mcre1
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 347 7
## malignant 9 185
##
## Accuracy : 0.9708
## 95% CI : (0.953, 0.9832)
## No Information Rate : 0.6496
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.936
##
## Mcnemar's Test P-Value : 0.8026
##
## Sensitivity : 0.9747
## Specificity : 0.9635
## Pos Pred Value : 0.9802
## Neg Pred Value : 0.9536
## Prevalence : 0.6496
## Detection Rate : 0.6332
## Detection Prevalence : 0.6460
## Balanced Accuracy : 0.9691
##
## 'Positive' Class : benign
##
mcrp1<- confusionMatrix(resultado_prueba1, prueba$Class) #Matriz de confusión del resultado de la prueba
mcrp1
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 87 2
## malignant 1 45
##
## Accuracy : 0.9778
## 95% CI : (0.9364, 0.9954)
## No Information Rate : 0.6519
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9508
##
## Mcnemar's Test P-Value : 1
##
## Sensitivity : 0.9886
## Specificity : 0.9574
## Pos Pred Value : 0.9775
## Neg Pred Value : 0.9783
## Prevalence : 0.6519
## Detection Rate : 0.6444
## Detection Prevalence : 0.6593
## Balanced Accuracy : 0.9730
##
## 'Positive' Class : benign
##
#en este modelo la presición (acurracy) es lo que se toma en cuenta
modelo2<- train(Class ~ ., data= entrenamiento,
method = "svmRadial", # Cambiar
preProcess=c("scale", "center"),
trControl = trainControl(method = "cv", number=10),
tuneGrid= data.frame(sigma=1, C=1)) # Cambiar
resultado_entrenamiento2<- predict(modelo2, entrenamiento)
resultado_prueba2<- predict(modelo2, prueba)
# Matriz de Confusión
mcre2<- confusionMatrix(resultado_entrenamiento2, entrenamiento$Class) #Matriz de confusión del resultado del entrenamiento
mcre2
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 354 0
## malignant 2 192
##
## Accuracy : 0.9964
## 95% CI : (0.9869, 0.9996)
## No Information Rate : 0.6496
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.992
##
## Mcnemar's Test P-Value : 0.4795
##
## Sensitivity : 0.9944
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 0.9897
## Prevalence : 0.6496
## Detection Rate : 0.6460
## Detection Prevalence : 0.6460
## Balanced Accuracy : 0.9972
##
## 'Positive' Class : benign
##
mcrp2<- confusionMatrix(resultado_prueba2, prueba$Class) #Matriz de confusión del resultado de la prueba
mcrp2
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 82 0
## malignant 6 47
##
## Accuracy : 0.9556
## 95% CI : (0.9058, 0.9835)
## No Information Rate : 0.6519
## P-Value [Acc > NIR] : < 2e-16
##
## Kappa : 0.9049
##
## Mcnemar's Test P-Value : 0.04123
##
## Sensitivity : 0.9318
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 0.8868
## Prevalence : 0.6519
## Detection Rate : 0.6074
## Detection Prevalence : 0.6074
## Balanced Accuracy : 0.9659
##
## 'Positive' Class : benign
##
#en este modelo la presición (acurracy) es lo que se toma en cuenta
modelo3<- train(Class ~ ., data= entrenamiento,
method = "svmPoly", # Cambiar
preProcess=c("scale", "center"),
trControl = trainControl(method = "cv", number=10),
tuneGrid= data.frame(degree=1, scale=1, C=1)) # Cambiar
resultado_entrenamiento3<- predict(modelo3, entrenamiento)
resultado_prueba3<- predict(modelo3, prueba)
# Matriz de Confusión
mcre3<- confusionMatrix(resultado_entrenamiento3, entrenamiento$Class) #Matriz de confusión del resultado del entrenamiento
mcre3
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 347 7
## malignant 9 185
##
## Accuracy : 0.9708
## 95% CI : (0.953, 0.9832)
## No Information Rate : 0.6496
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.936
##
## Mcnemar's Test P-Value : 0.8026
##
## Sensitivity : 0.9747
## Specificity : 0.9635
## Pos Pred Value : 0.9802
## Neg Pred Value : 0.9536
## Prevalence : 0.6496
## Detection Rate : 0.6332
## Detection Prevalence : 0.6460
## Balanced Accuracy : 0.9691
##
## 'Positive' Class : benign
##
mcrp3<- confusionMatrix(resultado_prueba3, prueba$Class) #Matriz de confusión del resultado de la prueba
mcrp3
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 87 2
## malignant 1 45
##
## Accuracy : 0.9778
## 95% CI : (0.9364, 0.9954)
## No Information Rate : 0.6519
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9508
##
## Mcnemar's Test P-Value : 1
##
## Sensitivity : 0.9886
## Specificity : 0.9574
## Pos Pred Value : 0.9775
## Neg Pred Value : 0.9783
## Prevalence : 0.6519
## Detection Rate : 0.6444
## Detection Prevalence : 0.6593
## Balanced Accuracy : 0.9730
##
## 'Positive' Class : benign
##
#en este modelo la presición (acurracy) es lo que se toma en cuenta
modelo4<- train(Class ~ ., data= entrenamiento,
method = "rpart", # Cambiar
preProcess=c("scale", "center"),
trControl = trainControl(method = "cv", number=10),
tuneLength = 10) # Cambiar
resultado_entrenamiento4<- predict(modelo4, entrenamiento)
resultado_prueba4<- predict(modelo4, prueba)
# Matriz de Confusión
mcre4<- confusionMatrix(resultado_entrenamiento4, entrenamiento$Class) #Matriz de confusión del resultado del entrenamiento
mcre4
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 345 9
## malignant 11 183
##
## Accuracy : 0.9635
## 95% CI : (0.9442, 0.9776)
## No Information Rate : 0.6496
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.92
##
## Mcnemar's Test P-Value : 0.8231
##
## Sensitivity : 0.9691
## Specificity : 0.9531
## Pos Pred Value : 0.9746
## Neg Pred Value : 0.9433
## Prevalence : 0.6496
## Detection Rate : 0.6296
## Detection Prevalence : 0.6460
## Balanced Accuracy : 0.9611
##
## 'Positive' Class : benign
##
mcrp4<- confusionMatrix(resultado_prueba4, prueba$Class) #Matriz de confusión del resultado de la prueba
mcrp4
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 87 5
## malignant 1 42
##
## Accuracy : 0.9556
## 95% CI : (0.9058, 0.9835)
## No Information Rate : 0.6519
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9001
##
## Mcnemar's Test P-Value : 0.2207
##
## Sensitivity : 0.9886
## Specificity : 0.8936
## Pos Pred Value : 0.9457
## Neg Pred Value : 0.9767
## Prevalence : 0.6519
## Detection Rate : 0.6444
## Detection Prevalence : 0.6815
## Balanced Accuracy : 0.9411
##
## 'Positive' Class : benign
##
#en este modelo la presición (acurracy) es lo que se toma en cuenta
modelo5<- train(Class ~ ., data= entrenamiento,
method = "nnet", # Cambiar
preProcess=c("scale", "center"),
trControl = trainControl(method = "cv", number=10)) # Cambiar
## # weights: 12
## initial value 376.477149
## iter 10 value 42.437195
## iter 20 value 37.383594
## iter 30 value 37.366404
## iter 40 value 36.703788
## iter 50 value 32.802253
## iter 60 value 32.783185
## iter 70 value 32.780576
## iter 80 value 32.780352
## iter 90 value 32.780267
## iter 100 value 32.779932
## final value 32.779932
## stopped after 100 iterations
## # weights: 34
## initial value 398.967389
## iter 10 value 41.580064
## iter 20 value 32.819841
## iter 30 value 30.580631
## iter 40 value 30.171660
## iter 50 value 29.018950
## iter 60 value 26.270274
## iter 70 value 25.101938
## iter 80 value 24.289120
## iter 90 value 23.970739
## iter 100 value 23.966875
## final value 23.966875
## stopped after 100 iterations
## # weights: 56
## initial value 392.380535
## iter 10 value 36.130217
## iter 20 value 16.520603
## iter 30 value 7.379376
## iter 40 value 4.979779
## iter 50 value 1.881997
## iter 60 value 1.413958
## iter 70 value 1.397572
## iter 80 value 1.389584
## iter 90 value 1.386721
## iter 100 value 1.386332
## final value 1.386332
## stopped after 100 iterations
## # weights: 12
## initial value 350.410635
## iter 10 value 74.916798
## iter 20 value 58.878074
## iter 30 value 49.960077
## iter 40 value 49.661904
## final value 49.661892
## converged
## # weights: 34
## initial value 349.539635
## iter 10 value 115.137963
## iter 20 value 45.339839
## iter 30 value 41.959631
## iter 40 value 38.444785
## iter 50 value 37.928940
## iter 60 value 37.672510
## iter 70 value 37.662808
## final value 37.662804
## converged
## # weights: 56
## initial value 385.799685
## iter 10 value 41.550941
## iter 20 value 37.775498
## iter 30 value 37.351510
## iter 40 value 37.203503
## iter 50 value 36.881480
## iter 60 value 36.816477
## iter 70 value 36.815808
## iter 80 value 36.815763
## iter 80 value 36.815763
## final value 36.815763
## converged
## # weights: 12
## initial value 411.250561
## iter 10 value 128.481791
## iter 20 value 48.775343
## iter 30 value 48.108500
## iter 40 value 45.630536
## iter 50 value 42.789720
## iter 60 value 42.600620
## iter 70 value 39.693498
## iter 80 value 39.678498
## iter 90 value 39.673171
## iter 100 value 39.665081
## final value 39.665081
## stopped after 100 iterations
## # weights: 34
## initial value 396.907245
## iter 10 value 36.935107
## iter 20 value 27.845747
## iter 30 value 24.064004
## iter 40 value 22.507661
## iter 50 value 22.161343
## iter 60 value 21.912002
## iter 70 value 21.436179
## iter 80 value 21.176493
## iter 90 value 21.115826
## iter 100 value 20.994492
## final value 20.994492
## stopped after 100 iterations
## # weights: 56
## initial value 470.209121
## iter 10 value 36.854692
## iter 20 value 29.775951
## iter 30 value 26.512592
## iter 40 value 23.490629
## iter 50 value 21.091000
## iter 60 value 14.528279
## iter 70 value 14.146366
## iter 80 value 12.978601
## iter 90 value 12.838590
## iter 100 value 12.809161
## final value 12.809161
## stopped after 100 iterations
## # weights: 12
## initial value 355.508036
## iter 10 value 52.186983
## iter 20 value 49.731412
## iter 30 value 42.751850
## iter 40 value 42.589636
## iter 50 value 40.970318
## iter 60 value 39.558646
## iter 70 value 39.543586
## iter 80 value 39.515130
## iter 90 value 39.503451
## iter 100 value 39.499587
## final value 39.499587
## stopped after 100 iterations
## # weights: 34
## initial value 345.293855
## iter 10 value 38.850419
## iter 20 value 35.299467
## iter 30 value 29.063227
## iter 40 value 25.318280
## iter 50 value 22.886781
## iter 60 value 21.721975
## iter 70 value 21.281773
## iter 80 value 21.101509
## iter 90 value 21.071842
## iter 100 value 21.066196
## final value 21.066196
## stopped after 100 iterations
## # weights: 56
## initial value 318.370065
## iter 10 value 40.055119
## iter 20 value 24.416365
## iter 30 value 13.343905
## iter 40 value 12.497316
## iter 50 value 12.101419
## iter 60 value 11.714407
## iter 70 value 10.562188
## iter 80 value 10.084774
## iter 90 value 9.803909
## iter 100 value 9.692054
## final value 9.692054
## stopped after 100 iterations
## # weights: 12
## initial value 383.405588
## iter 10 value 70.986072
## iter 20 value 54.771996
## iter 30 value 53.597555
## iter 40 value 53.544775
## iter 40 value 53.544774
## iter 40 value 53.544774
## final value 53.544774
## converged
## # weights: 34
## initial value 437.860910
## iter 10 value 52.917571
## iter 20 value 47.485871
## iter 30 value 43.339800
## iter 40 value 42.347250
## iter 50 value 41.987058
## iter 60 value 41.759375
## iter 70 value 41.757165
## iter 70 value 41.757165
## final value 41.757165
## converged
## # weights: 56
## initial value 432.938183
## iter 10 value 53.241057
## iter 20 value 42.793023
## iter 30 value 40.750430
## iter 40 value 40.140010
## iter 50 value 40.065188
## iter 60 value 40.059476
## iter 70 value 40.058576
## final value 40.058575
## converged
## # weights: 12
## initial value 370.559464
## iter 10 value 56.330575
## iter 20 value 45.487568
## iter 30 value 40.718222
## iter 40 value 39.656038
## iter 50 value 39.640343
## iter 60 value 39.639341
## iter 70 value 39.638382
## iter 80 value 39.638099
## iter 90 value 39.638035
## iter 100 value 39.637985
## final value 39.637985
## stopped after 100 iterations
## # weights: 34
## initial value 371.184689
## iter 10 value 42.069486
## iter 20 value 36.888133
## iter 30 value 35.233768
## iter 40 value 31.583861
## iter 50 value 29.951169
## iter 60 value 27.882573
## iter 70 value 27.350766
## iter 80 value 27.191197
## iter 90 value 27.149604
## iter 100 value 26.994128
## final value 26.994128
## stopped after 100 iterations
## # weights: 56
## initial value 324.010663
## iter 10 value 35.285669
## iter 20 value 18.983575
## iter 30 value 8.864095
## iter 40 value 8.493163
## iter 50 value 8.373325
## iter 60 value 5.023711
## iter 70 value 4.414094
## iter 80 value 4.245991
## iter 90 value 4.032493
## iter 100 value 1.218699
## final value 1.218699
## stopped after 100 iterations
## # weights: 12
## initial value 376.965522
## iter 10 value 57.458884
## iter 20 value 48.268436
## iter 30 value 45.450565
## iter 40 value 43.475756
## iter 50 value 39.525989
## iter 60 value 39.499126
## iter 70 value 39.494123
## iter 80 value 39.484240
## iter 90 value 39.481187
## iter 100 value 39.480996
## final value 39.480996
## stopped after 100 iterations
## # weights: 34
## initial value 461.169324
## iter 10 value 37.143796
## iter 20 value 28.209150
## iter 30 value 19.639361
## iter 40 value 17.612668
## iter 50 value 17.529577
## iter 60 value 17.528701
## final value 17.528675
## converged
## # weights: 56
## initial value 291.377968
## iter 10 value 34.872750
## iter 20 value 27.020476
## iter 30 value 21.365333
## iter 40 value 18.322587
## iter 50 value 14.852247
## iter 60 value 14.005387
## iter 70 value 13.813886
## iter 80 value 13.627385
## iter 90 value 13.580207
## iter 100 value 13.561449
## final value 13.561449
## stopped after 100 iterations
## # weights: 12
## initial value 350.760977
## iter 10 value 62.985282
## iter 20 value 52.810932
## iter 30 value 52.778785
## final value 52.777991
## converged
## # weights: 34
## initial value 325.655243
## iter 10 value 53.894733
## iter 20 value 47.675190
## iter 30 value 45.276035
## iter 40 value 43.160908
## iter 50 value 41.825807
## iter 60 value 41.617544
## iter 70 value 41.610425
## iter 80 value 41.555818
## iter 90 value 41.553218
## iter 90 value 41.553218
## iter 90 value 41.553218
## final value 41.553218
## converged
## # weights: 56
## initial value 290.669028
## iter 10 value 85.091956
## iter 20 value 49.886743
## iter 30 value 44.222060
## iter 40 value 40.735343
## iter 50 value 39.664872
## iter 60 value 39.313892
## iter 70 value 38.909658
## iter 80 value 38.818642
## iter 90 value 38.811901
## iter 100 value 38.811641
## final value 38.811641
## stopped after 100 iterations
## # weights: 12
## initial value 429.343504
## iter 10 value 48.000220
## iter 20 value 43.121829
## iter 30 value 41.515601
## iter 40 value 37.669596
## iter 50 value 37.396040
## iter 60 value 37.383183
## iter 70 value 37.341077
## iter 80 value 37.328979
## iter 90 value 37.320610
## iter 100 value 37.293722
## final value 37.293722
## stopped after 100 iterations
## # weights: 34
## initial value 476.188548
## iter 10 value 48.622911
## iter 20 value 32.034715
## iter 30 value 28.036310
## iter 40 value 24.999756
## iter 50 value 23.129264
## iter 60 value 22.975342
## iter 70 value 22.913586
## iter 80 value 22.892855
## iter 90 value 22.858722
## iter 100 value 22.833042
## final value 22.833042
## stopped after 100 iterations
## # weights: 56
## initial value 378.900773
## iter 10 value 36.248260
## iter 20 value 20.146364
## iter 30 value 11.327904
## iter 40 value 9.748409
## iter 50 value 9.432211
## iter 60 value 9.055354
## iter 70 value 8.966362
## iter 80 value 8.935854
## iter 90 value 8.917093
## iter 100 value 8.902201
## final value 8.902201
## stopped after 100 iterations
## # weights: 12
## initial value 344.806105
## iter 10 value 53.314981
## iter 20 value 51.864827
## iter 30 value 48.439608
## iter 40 value 47.074809
## iter 50 value 45.171586
## iter 60 value 45.010562
## iter 70 value 44.965893
## iter 80 value 44.919082
## iter 90 value 44.853411
## iter 100 value 44.822481
## final value 44.822481
## stopped after 100 iterations
## # weights: 34
## initial value 324.352768
## iter 10 value 33.754090
## iter 20 value 26.301046
## iter 30 value 21.302920
## iter 40 value 20.470135
## iter 50 value 20.022692
## iter 60 value 19.903231
## iter 70 value 19.895252
## iter 80 value 19.894923
## iter 90 value 19.894423
## final value 19.894412
## converged
## # weights: 56
## initial value 301.048227
## iter 10 value 31.006045
## iter 20 value 26.243828
## iter 30 value 20.745469
## iter 40 value 18.745178
## iter 50 value 18.149255
## iter 60 value 17.208233
## iter 70 value 17.128135
## iter 80 value 16.974997
## iter 90 value 16.891304
## iter 100 value 16.845548
## final value 16.845548
## stopped after 100 iterations
## # weights: 12
## initial value 441.401693
## iter 10 value 52.177398
## iter 20 value 47.978570
## iter 30 value 46.688911
## final value 46.686683
## converged
## # weights: 34
## initial value 400.891990
## iter 10 value 38.167635
## iter 20 value 36.493121
## iter 30 value 36.422004
## iter 40 value 36.355602
## iter 50 value 36.351007
## final value 36.351006
## converged
## # weights: 56
## initial value 354.480594
## iter 10 value 40.204286
## iter 20 value 36.276416
## iter 30 value 34.831402
## iter 40 value 34.638085
## iter 50 value 34.632346
## final value 34.630418
## converged
## # weights: 12
## initial value 382.278414
## iter 10 value 51.491238
## iter 20 value 42.900868
## iter 30 value 36.397646
## iter 40 value 36.365532
## iter 50 value 36.354776
## iter 60 value 36.352952
## iter 70 value 36.351207
## iter 80 value 36.350648
## iter 90 value 36.350404
## iter 100 value 36.350228
## final value 36.350228
## stopped after 100 iterations
## # weights: 34
## initial value 385.229559
## iter 10 value 48.761838
## iter 20 value 34.609357
## iter 30 value 22.131388
## iter 40 value 17.743321
## iter 50 value 16.603890
## iter 60 value 16.337978
## iter 70 value 16.142615
## iter 80 value 16.099878
## iter 90 value 16.066547
## iter 100 value 16.036148
## final value 16.036148
## stopped after 100 iterations
## # weights: 56
## initial value 517.073810
## iter 10 value 208.699725
## iter 20 value 22.379999
## iter 30 value 16.405697
## iter 40 value 14.761128
## iter 50 value 14.203133
## iter 60 value 13.855094
## iter 70 value 13.643576
## iter 80 value 13.000759
## iter 90 value 10.690633
## iter 100 value 10.101124
## final value 10.101124
## stopped after 100 iterations
## # weights: 12
## initial value 292.895306
## iter 10 value 52.551393
## iter 20 value 47.795990
## iter 30 value 43.326449
## iter 40 value 42.498683
## iter 50 value 42.483639
## iter 60 value 42.481460
## iter 70 value 42.480221
## iter 80 value 42.478425
## iter 90 value 42.476811
## iter 100 value 42.476437
## final value 42.476437
## stopped after 100 iterations
## # weights: 34
## initial value 370.482153
## iter 10 value 38.851578
## iter 20 value 33.185345
## iter 30 value 26.837372
## iter 40 value 23.550785
## iter 50 value 22.282349
## iter 60 value 21.741716
## iter 70 value 21.617553
## iter 80 value 21.606068
## iter 90 value 21.594047
## iter 100 value 21.590763
## final value 21.590763
## stopped after 100 iterations
## # weights: 56
## initial value 331.163435
## iter 10 value 45.763128
## iter 20 value 29.174052
## iter 30 value 22.347069
## iter 40 value 16.843208
## iter 50 value 15.554057
## iter 60 value 15.069029
## iter 70 value 14.686925
## iter 80 value 14.395084
## iter 90 value 13.924073
## iter 100 value 13.613552
## final value 13.613552
## stopped after 100 iterations
## # weights: 12
## initial value 445.911318
## iter 10 value 50.664074
## iter 20 value 49.103146
## iter 30 value 48.764748
## final value 48.764740
## converged
## # weights: 34
## initial value 539.171803
## iter 10 value 71.174738
## iter 20 value 44.888487
## iter 30 value 40.773068
## iter 40 value 39.291940
## iter 50 value 38.948505
## iter 60 value 38.805208
## iter 70 value 38.789757
## iter 80 value 38.777548
## iter 90 value 38.777242
## final value 38.777240
## converged
## # weights: 56
## initial value 300.526929
## iter 10 value 92.670644
## iter 20 value 45.607100
## iter 30 value 38.482565
## iter 40 value 37.620450
## iter 50 value 37.333679
## iter 60 value 37.305632
## iter 70 value 37.304888
## final value 37.304880
## converged
## # weights: 12
## initial value 342.113667
## iter 10 value 39.784475
## iter 20 value 37.502481
## iter 30 value 37.235549
## iter 40 value 37.094419
## iter 50 value 36.355221
## iter 60 value 36.235421
## iter 70 value 35.963827
## iter 80 value 35.822521
## iter 90 value 35.822367
## iter 100 value 35.821303
## final value 35.821303
## stopped after 100 iterations
## # weights: 34
## initial value 379.416717
## iter 10 value 42.835820
## iter 20 value 38.625630
## iter 30 value 33.091455
## iter 40 value 32.424501
## iter 50 value 31.958173
## iter 60 value 31.780375
## iter 70 value 31.571136
## iter 80 value 31.479145
## iter 90 value 31.464511
## iter 100 value 31.417168
## final value 31.417168
## stopped after 100 iterations
## # weights: 56
## initial value 369.465817
## iter 10 value 36.101780
## iter 20 value 17.316087
## iter 30 value 10.213775
## iter 40 value 7.378137
## iter 50 value 6.626386
## iter 60 value 6.505362
## iter 70 value 6.344177
## iter 80 value 5.833663
## iter 90 value 5.743775
## iter 100 value 5.674803
## final value 5.674803
## stopped after 100 iterations
## # weights: 12
## initial value 321.197058
## iter 10 value 37.992700
## iter 20 value 35.792204
## iter 30 value 35.389851
## iter 40 value 35.128294
## iter 50 value 34.925662
## iter 60 value 34.886890
## iter 70 value 34.877191
## iter 80 value 34.875236
## iter 90 value 34.873956
## iter 100 value 34.872360
## final value 34.872360
## stopped after 100 iterations
## # weights: 34
## initial value 389.682359
## iter 10 value 33.677993
## iter 20 value 21.377728
## iter 30 value 14.878733
## iter 40 value 10.094345
## iter 50 value 9.445055
## iter 60 value 9.423292
## iter 70 value 9.419223
## iter 80 value 9.418886
## iter 90 value 9.418811
## iter 100 value 9.418768
## final value 9.418768
## stopped after 100 iterations
## # weights: 56
## initial value 266.773981
## iter 10 value 23.397408
## iter 20 value 12.453893
## iter 30 value 9.921559
## iter 40 value 9.334908
## iter 50 value 9.183171
## iter 60 value 9.172849
## iter 70 value 9.127471
## iter 80 value 9.054126
## iter 90 value 8.984186
## iter 100 value 8.955991
## final value 8.955991
## stopped after 100 iterations
## # weights: 12
## initial value 320.530859
## iter 10 value 60.495799
## iter 20 value 46.020850
## iter 30 value 44.525762
## final value 44.523218
## converged
## # weights: 34
## initial value 407.705422
## iter 10 value 54.162248
## iter 20 value 34.360603
## iter 30 value 34.038423
## iter 40 value 34.035667
## final value 34.035016
## converged
## # weights: 56
## initial value 454.017135
## iter 10 value 69.049091
## iter 20 value 33.996446
## iter 30 value 31.515000
## iter 40 value 31.231004
## iter 50 value 30.903611
## iter 60 value 30.710978
## iter 70 value 30.627870
## iter 80 value 30.624795
## iter 80 value 30.624795
## iter 80 value 30.624795
## final value 30.624795
## converged
## # weights: 12
## initial value 400.796335
## iter 10 value 36.480916
## iter 20 value 32.950616
## iter 30 value 32.894397
## iter 40 value 32.885858
## iter 50 value 32.882953
## iter 60 value 32.875174
## iter 70 value 32.873837
## iter 80 value 32.873014
## iter 90 value 32.870765
## iter 100 value 32.499479
## final value 32.499479
## stopped after 100 iterations
## # weights: 34
## initial value 382.700891
## iter 10 value 35.650965
## iter 20 value 23.665512
## iter 30 value 17.281386
## iter 40 value 10.154502
## iter 50 value 6.686735
## iter 60 value 6.244087
## iter 70 value 6.211796
## iter 80 value 6.196180
## iter 90 value 6.162809
## iter 100 value 6.152142
## final value 6.152142
## stopped after 100 iterations
## # weights: 56
## initial value 297.860371
## iter 10 value 27.305970
## iter 20 value 15.483042
## iter 30 value 9.690338
## iter 40 value 8.129648
## iter 50 value 6.973134
## iter 60 value 6.906713
## iter 70 value 6.869101
## iter 80 value 6.840714
## iter 90 value 6.822533
## iter 100 value 6.807764
## final value 6.807764
## stopped after 100 iterations
## # weights: 12
## initial value 339.456790
## iter 10 value 158.046015
## iter 20 value 65.717796
## iter 30 value 46.787679
## iter 40 value 38.271207
## iter 50 value 36.848772
## iter 60 value 36.575077
## iter 70 value 36.226322
## iter 80 value 36.046114
## iter 90 value 36.039011
## iter 100 value 35.936969
## final value 35.936969
## stopped after 100 iterations
## # weights: 34
## initial value 396.446083
## iter 10 value 49.591717
## iter 20 value 33.545530
## iter 30 value 29.656480
## iter 40 value 27.447190
## iter 50 value 26.319019
## iter 60 value 24.899691
## iter 70 value 24.678830
## iter 80 value 24.516449
## iter 90 value 24.098363
## iter 100 value 23.606689
## final value 23.606689
## stopped after 100 iterations
## # weights: 56
## initial value 325.372656
## iter 10 value 34.301235
## iter 20 value 20.901145
## iter 30 value 13.020419
## iter 40 value 12.256197
## iter 50 value 12.250246
## iter 60 value 12.250019
## iter 70 value 12.249909
## iter 80 value 12.033269
## iter 90 value 11.818460
## iter 100 value 11.811156
## final value 11.811156
## stopped after 100 iterations
## # weights: 12
## initial value 327.906693
## iter 10 value 61.219539
## iter 20 value 49.734517
## iter 30 value 49.118216
## iter 40 value 49.101690
## iter 40 value 49.101690
## iter 40 value 49.101690
## final value 49.101690
## converged
## # weights: 34
## initial value 323.934935
## iter 10 value 46.152240
## iter 20 value 40.840436
## iter 30 value 39.749908
## iter 40 value 39.514367
## iter 50 value 39.426968
## final value 39.426886
## converged
## # weights: 56
## initial value 449.227090
## iter 10 value 81.409576
## iter 20 value 46.841838
## iter 30 value 43.443981
## iter 40 value 41.657814
## iter 50 value 40.991857
## iter 60 value 40.891983
## iter 70 value 40.873833
## iter 80 value 40.872856
## final value 40.872681
## converged
## # weights: 12
## initial value 326.766631
## iter 10 value 44.353548
## iter 20 value 37.431520
## iter 30 value 33.556132
## iter 40 value 30.479939
## iter 50 value 30.467985
## iter 60 value 30.463700
## iter 70 value 30.458655
## iter 80 value 30.458144
## iter 90 value 30.457322
## final value 30.457314
## converged
## # weights: 34
## initial value 428.667035
## iter 10 value 43.686421
## iter 20 value 30.592240
## iter 30 value 26.969605
## iter 40 value 24.266306
## iter 50 value 23.839056
## iter 60 value 22.804244
## iter 70 value 22.668007
## iter 80 value 22.540927
## iter 90 value 22.469181
## iter 100 value 22.427528
## final value 22.427528
## stopped after 100 iterations
## # weights: 56
## initial value 408.874223
## iter 10 value 34.951565
## iter 20 value 12.870980
## iter 30 value 6.483366
## iter 40 value 6.307095
## iter 50 value 6.206916
## iter 60 value 6.150471
## iter 70 value 6.133738
## iter 80 value 6.117790
## iter 90 value 6.088511
## iter 100 value 6.066790
## final value 6.066790
## stopped after 100 iterations
## # weights: 12
## initial value 321.754451
## iter 10 value 42.735297
## iter 20 value 36.553903
## iter 30 value 36.425583
## iter 40 value 36.361319
## iter 50 value 36.346991
## iter 60 value 36.339317
## iter 70 value 36.331902
## iter 80 value 36.324998
## iter 90 value 36.321886
## iter 100 value 36.318710
## final value 36.318710
## stopped after 100 iterations
## # weights: 34
## initial value 300.446391
## iter 10 value 41.961751
## iter 20 value 30.257550
## iter 30 value 28.183516
## iter 40 value 22.689069
## iter 50 value 20.829621
## iter 60 value 19.144793
## iter 70 value 16.434296
## iter 80 value 15.874639
## iter 90 value 15.741785
## iter 100 value 15.574467
## final value 15.574467
## stopped after 100 iterations
## # weights: 56
## initial value 282.021100
## iter 10 value 32.901459
## iter 20 value 16.152079
## iter 30 value 12.074062
## iter 40 value 10.867879
## iter 50 value 10.565675
## iter 60 value 10.464206
## iter 70 value 10.422227
## iter 80 value 10.405932
## iter 90 value 10.394482
## iter 100 value 10.390740
## final value 10.390740
## stopped after 100 iterations
## # weights: 12
## initial value 338.542762
## iter 10 value 58.364417
## iter 20 value 47.889755
## iter 30 value 46.959061
## iter 40 value 46.913157
## final value 46.913156
## converged
## # weights: 34
## initial value 389.067606
## iter 10 value 64.563624
## iter 20 value 47.862307
## iter 30 value 41.700191
## iter 40 value 38.501372
## iter 50 value 37.391377
## iter 60 value 37.049787
## iter 70 value 36.855211
## iter 80 value 36.830464
## iter 90 value 36.830243
## final value 36.830243
## converged
## # weights: 56
## initial value 314.006605
## iter 10 value 39.786364
## iter 20 value 36.825762
## iter 30 value 36.042459
## iter 40 value 35.790063
## iter 50 value 35.749193
## iter 60 value 35.630582
## iter 70 value 34.800295
## iter 80 value 34.775821
## final value 34.775630
## converged
## # weights: 12
## initial value 317.842554
## iter 10 value 55.219614
## iter 20 value 42.411436
## iter 30 value 41.698575
## iter 40 value 36.533028
## iter 50 value 36.474702
## iter 60 value 36.466201
## iter 70 value 36.462348
## iter 80 value 36.458830
## iter 90 value 36.457076
## iter 100 value 36.456465
## final value 36.456465
## stopped after 100 iterations
## # weights: 34
## initial value 315.805100
## iter 10 value 35.696766
## iter 20 value 25.008868
## iter 30 value 19.314407
## iter 40 value 18.470075
## iter 50 value 18.313588
## iter 60 value 18.124856
## iter 70 value 17.847941
## iter 80 value 17.803263
## iter 90 value 17.693457
## iter 100 value 17.476898
## final value 17.476898
## stopped after 100 iterations
## # weights: 56
## initial value 336.033457
## iter 10 value 29.843576
## iter 20 value 19.062788
## iter 30 value 12.266330
## iter 40 value 9.990162
## iter 50 value 9.510100
## iter 60 value 7.360044
## iter 70 value 5.808872
## iter 80 value 5.238995
## iter 90 value 5.006698
## iter 100 value 3.884926
## final value 3.884926
## stopped after 100 iterations
## # weights: 12
## initial value 373.448951
## iter 10 value 45.158611
## iter 20 value 44.096037
## iter 30 value 43.343767
## iter 40 value 42.568253
## iter 50 value 42.525430
## final value 42.525369
## converged
## # weights: 34
## initial value 303.311657
## iter 10 value 39.258404
## iter 20 value 35.907574
## iter 30 value 32.926632
## iter 40 value 31.719819
## iter 50 value 31.054627
## iter 60 value 30.301461
## iter 70 value 29.207742
## iter 80 value 28.417600
## iter 90 value 27.315400
## iter 100 value 26.573440
## final value 26.573440
## stopped after 100 iterations
## # weights: 56
## initial value 297.717687
## iter 10 value 34.910317
## iter 20 value 19.097253
## iter 30 value 12.162892
## iter 40 value 11.962253
## iter 50 value 11.882074
## iter 60 value 11.825032
## iter 70 value 11.803696
## iter 80 value 11.799958
## iter 90 value 11.789507
## iter 100 value 11.633687
## final value 11.633687
## stopped after 100 iterations
## # weights: 12
## initial value 323.344070
## iter 10 value 59.196471
## iter 20 value 54.572127
## iter 30 value 54.313230
## final value 54.265527
## converged
## # weights: 34
## initial value 422.110821
## iter 10 value 46.135214
## iter 20 value 42.100740
## iter 30 value 41.349736
## iter 40 value 40.946203
## iter 50 value 40.871524
## iter 60 value 40.864045
## iter 70 value 40.862853
## iter 80 value 40.859037
## iter 90 value 40.856820
## final value 40.856812
## converged
## # weights: 56
## initial value 306.653715
## iter 10 value 61.734533
## iter 20 value 46.398463
## iter 30 value 42.976429
## iter 40 value 40.535781
## iter 50 value 38.903458
## iter 60 value 38.436156
## iter 70 value 38.371343
## iter 80 value 37.583306
## iter 90 value 37.167963
## iter 100 value 37.139218
## final value 37.139218
## stopped after 100 iterations
## # weights: 12
## initial value 302.848084
## iter 10 value 86.222643
## iter 20 value 62.549374
## iter 30 value 50.117326
## iter 40 value 42.790245
## iter 50 value 42.746444
## iter 60 value 42.704572
## iter 70 value 42.700133
## iter 80 value 42.697799
## iter 90 value 42.695362
## iter 100 value 42.693661
## final value 42.693661
## stopped after 100 iterations
## # weights: 34
## initial value 357.848719
## iter 10 value 50.353275
## iter 20 value 33.751623
## iter 30 value 32.033219
## iter 40 value 29.597684
## iter 50 value 28.331533
## iter 60 value 28.273034
## iter 70 value 28.207846
## iter 80 value 28.122741
## iter 90 value 28.036842
## iter 100 value 27.937599
## final value 27.937599
## stopped after 100 iterations
## # weights: 56
## initial value 401.661057
## iter 10 value 36.655848
## iter 20 value 16.011617
## iter 30 value 6.895899
## iter 40 value 6.428734
## iter 50 value 6.185441
## iter 60 value 6.111802
## iter 70 value 6.021786
## iter 80 value 5.957063
## iter 90 value 4.807588
## iter 100 value 4.566685
## final value 4.566685
## stopped after 100 iterations
## # weights: 12
## initial value 341.667320
## iter 10 value 50.797393
## iter 20 value 39.826114
## iter 30 value 39.597097
## iter 40 value 39.548037
## iter 50 value 39.525868
## iter 60 value 39.514783
## iter 70 value 39.503536
## iter 80 value 39.500868
## iter 90 value 39.494332
## iter 100 value 39.491669
## final value 39.491669
## stopped after 100 iterations
## # weights: 34
## initial value 330.883225
## iter 10 value 33.931619
## iter 20 value 20.963873
## iter 30 value 14.558637
## iter 40 value 13.880806
## iter 50 value 13.768648
## iter 60 value 13.766768
## iter 70 value 13.766501
## iter 80 value 13.766430
## final value 13.766410
## converged
## # weights: 56
## initial value 366.759875
## iter 10 value 31.998240
## iter 20 value 19.326931
## iter 30 value 13.284252
## iter 40 value 13.139520
## iter 50 value 13.128890
## final value 13.128861
## converged
## # weights: 12
## initial value 360.723364
## iter 10 value 79.764384
## iter 20 value 58.554909
## iter 30 value 51.915182
## iter 40 value 48.699427
## final value 48.688574
## converged
## # weights: 34
## initial value 421.298943
## iter 10 value 85.137440
## iter 20 value 41.359032
## iter 30 value 38.548152
## iter 40 value 36.875606
## iter 50 value 36.830442
## final value 36.830432
## converged
## # weights: 56
## initial value 304.019070
## iter 10 value 43.255238
## iter 20 value 38.254552
## iter 30 value 36.850424
## iter 40 value 36.648594
## iter 50 value 36.550726
## iter 60 value 36.327745
## iter 70 value 36.271464
## iter 80 value 36.254873
## iter 90 value 36.253762
## final value 36.253760
## converged
## # weights: 12
## initial value 328.582102
## iter 10 value 46.350500
## iter 20 value 40.087911
## iter 30 value 39.780897
## iter 40 value 39.642761
## iter 50 value 39.626044
## iter 60 value 39.620422
## iter 70 value 39.617573
## iter 80 value 39.616729
## iter 90 value 39.616403
## iter 100 value 39.616162
## final value 39.616162
## stopped after 100 iterations
## # weights: 34
## initial value 420.985148
## iter 10 value 40.782041
## iter 20 value 31.436978
## iter 30 value 29.810226
## iter 40 value 29.752897
## iter 50 value 29.731764
## iter 60 value 29.722300
## iter 70 value 29.708030
## iter 80 value 29.701166
## iter 90 value 29.695962
## iter 100 value 29.687023
## final value 29.687023
## stopped after 100 iterations
## # weights: 56
## initial value 305.807773
## iter 10 value 32.868515
## iter 20 value 28.672268
## iter 30 value 23.994374
## iter 40 value 22.396665
## iter 50 value 22.173441
## iter 60 value 22.095568
## iter 70 value 21.691671
## iter 80 value 20.200593
## iter 90 value 19.546081
## iter 100 value 19.371937
## final value 19.371937
## stopped after 100 iterations
## # weights: 34
## initial value 326.919377
## iter 10 value 36.157512
## iter 20 value 30.097667
## iter 30 value 23.574816
## iter 40 value 23.268963
## iter 50 value 23.077785
## iter 60 value 20.578788
## iter 70 value 19.367780
## iter 80 value 19.204978
## iter 90 value 18.867899
## iter 100 value 18.771267
## final value 18.771267
## stopped after 100 iterations
resultado_entrenamiento5<- predict(modelo5, entrenamiento)
resultado_prueba5<- predict(modelo5, prueba)
# Matriz de Confusión
mcre5<- confusionMatrix(resultado_entrenamiento5, entrenamiento$Class) #Matriz de confusión del resultado del entrenamiento
mcre5
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 351 0
## malignant 5 192
##
## Accuracy : 0.9909
## 95% CI : (0.9788, 0.997)
## No Information Rate : 0.6496
## P-Value [Acc > NIR] : < 2e-16
##
## Kappa : 0.9801
##
## Mcnemar's Test P-Value : 0.07364
##
## Sensitivity : 0.9860
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 0.9746
## Prevalence : 0.6496
## Detection Rate : 0.6405
## Detection Prevalence : 0.6405
## Balanced Accuracy : 0.9930
##
## 'Positive' Class : benign
##
mcrp5<- confusionMatrix(resultado_prueba5, prueba$Class) #Matriz de confusión del resultado de la prueba
mcrp5
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 86 4
## malignant 2 43
##
## Accuracy : 0.9556
## 95% CI : (0.9058, 0.9835)
## No Information Rate : 0.6519
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9011
##
## Mcnemar's Test P-Value : 0.6831
##
## Sensitivity : 0.9773
## Specificity : 0.9149
## Pos Pred Value : 0.9556
## Neg Pred Value : 0.9556
## Prevalence : 0.6519
## Detection Rate : 0.6370
## Detection Prevalence : 0.6667
## Balanced Accuracy : 0.9461
##
## 'Positive' Class : benign
##
#en este modelo la presición (acurracy) es lo que se toma en cuenta
modelo6<- train(Class ~ ., data= entrenamiento,
method = "rf", # Cambiar
preProcess=c("scale", "center"),
trControl = trainControl(method = "cv", number=10),
tuneGrid= expand.grid(mtry = c(2,4,6))) # Cambiar
resultado_entrenamiento6<- predict(modelo6, entrenamiento)
resultado_prueba6<- predict(modelo6, prueba)
# Matriz de Confusión
mcre6<- confusionMatrix(resultado_entrenamiento6, entrenamiento$Class) #Matriz de confusión del resultado del entrenamiento
mcre6
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 356 1
## malignant 0 191
##
## Accuracy : 0.9982
## 95% CI : (0.9899, 1)
## No Information Rate : 0.6496
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.996
##
## Mcnemar's Test P-Value : 1
##
## Sensitivity : 1.0000
## Specificity : 0.9948
## Pos Pred Value : 0.9972
## Neg Pred Value : 1.0000
## Prevalence : 0.6496
## Detection Rate : 0.6496
## Detection Prevalence : 0.6515
## Balanced Accuracy : 0.9974
##
## 'Positive' Class : benign
##
mcrp6<- confusionMatrix(resultado_prueba6, prueba$Class) #Matriz de confusión del resultado de la prueba
mcrp6
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 85 1
## malignant 3 46
##
## Accuracy : 0.9704
## 95% CI : (0.9259, 0.9919)
## No Information Rate : 0.6519
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9354
##
## Mcnemar's Test P-Value : 0.6171
##
## Sensitivity : 0.9659
## Specificity : 0.9787
## Pos Pred Value : 0.9884
## Neg Pred Value : 0.9388
## Prevalence : 0.6519
## Detection Rate : 0.6296
## Detection Prevalence : 0.6370
## Balanced Accuracy : 0.9723
##
## 'Positive' Class : benign
##
#en este modelo la presición (acurracy) es lo que se toma en cuenta
resultados <- data.frame(
"svmLinear" = c(mcre1$overall["Accuracy"], mcrp1$overall["Accuracy"]),
"svmRadial" = c(mcre2$overall["Accuracy"], mcrp2$overall["Accuracy"]),
"svmPoly" = c(mcre3$overall["Accuracy"], mcrp3$overall["Accuracy"]),
"rpart" = c(mcre4$overall["Accuracy"], mcrp4$overall["Accuracy"]),
"nnet" = c(mcre5$overall["Accuracy"], mcrp5$overall["Accuracy"]),
"rf" = c(mcre6$overall["Accuracy"], mcrp6$overall["Accuracy"])
)
rownames(resultados) <- c("Precisión de entrenamiento", "Precisión de prueba")
resultados
## svmLinear svmRadial svmPoly rpart nnet
## Precisión de entrenamiento 0.9708029 0.9963504 0.9708029 0.9635036 0.9908759
## Precisión de prueba 0.9777778 0.9555556 0.9777778 0.9555556 0.9555556
## rf
## Precisión de entrenamiento 0.9981752
## Precisión de prueba 0.9703704
svmLinear y svmPoly no tienen sobreajuste.