# install.packages("ggplot2") # Gráficas
library(ggplot2)
# install.packages("lattice") # Crear gráficos
library(lattice)
# install.packages("caret") # Algoritmos de aprendizaje automático
library(caret)
# install.packages("DataExplorer") # Análisis Exploratorio
library(DataExplorer)
df <- read.csv("C:\\Users\\Emili\\OneDrive\\Desktop\\TEC\\Tec 6to Semestre Concentracion\\Modulo 2\\Archivos CSV\\M1_data.csv")
df$m1_purchase <- as.factor(df$m1_purchase)
cols_cat <- intersect(
c("gender","age_group","income_group","status","domain","user_pcmac"),
names(df)
)
df[cols_cat] <- lapply(df[cols_cat], as.factor)
summary(df)
## trust_apple interest_computers age_computer user_pcmac
## Length:133 Min. :2.000 Min. :0.000 Apple:86
## Class :character 1st Qu.:3.000 1st Qu.:1.000 Hp : 1
## Mode :character Median :4.000 Median :3.000 Other: 1
## Mean :3.812 Mean :2.827 PC :45
## 3rd Qu.:5.000 3rd Qu.:5.000
## Max. :5.000 Max. :9.000
##
## appleproducts_count familiarity_m1 f_batterylife f_price
## Min. :0.000 Length:133 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 Class :character 1st Qu.:4.000 1st Qu.:3.000
## Median :3.000 Mode :character Median :5.000 Median :4.000
## Mean :2.609 Mean :4.526 Mean :3.872
## 3rd Qu.:4.000 3rd Qu.:5.000 3rd Qu.:5.000
## Max. :8.000 Max. :5.000 Max. :5.000
##
## f_size f_multitasking f_noise f_performance f_neural
## Min. :1.000 Min. :2.00 Min. :1.000 Min. :2.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.:4.00 1st Qu.:3.000 1st Qu.:4.000 1st Qu.:2.000
## Median :3.000 Median :4.00 Median :4.000 Median :5.000 Median :3.000
## Mean :3.158 Mean :4.12 Mean :3.729 Mean :4.398 Mean :3.165
## 3rd Qu.:4.000 3rd Qu.:5.00 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:4.000
## Max. :5.000 Max. :5.00 Max. :5.000 Max. :5.000 Max. :5.000
##
## f_synergy f_performanceloss m1_consideration m1_purchase gender
## Min. :1.000 Min. :1.000 Min. :1.000 No :45 Female:61
## 1st Qu.:3.000 1st Qu.:3.000 1st Qu.:3.000 Yes:88 Male :72
## Median :4.000 Median :4.000 Median :4.000
## Mean :3.466 Mean :3.376 Mean :3.609
## 3rd Qu.:4.000 3rd Qu.:4.000 3rd Qu.:5.000
## Max. :5.000 Max. :5.000 Max. :5.000
##
## age_group income_group status domain
## 2 :77 1:34 Employed :41 IT & Technology:33
## 3 :29 2:43 Retired : 1 Marketing :21
## 5 : 7 3:18 Self-Employed : 5 Business :14
## 8 : 6 4: 9 Student :84 Engineering : 7
## 1 : 4 5: 5 Student ant employed: 1 Finance : 7
## 4 : 4 6: 8 Unemployed : 1 Science : 7
## (Other): 6 7:16 (Other) :44
str(df)
## 'data.frame': 133 obs. of 22 variables:
## $ trust_apple : chr "No" "Yes" "Yes" "Yes" ...
## $ interest_computers : int 4 2 5 2 4 3 3 3 4 5 ...
## $ age_computer : int 8 4 6 6 4 1 2 0 2 0 ...
## $ user_pcmac : Factor w/ 4 levels "Apple","Hp","Other",..: 4 4 4 1 1 1 1 4 1 1 ...
## $ appleproducts_count: int 0 1 0 4 7 2 7 0 6 7 ...
## $ familiarity_m1 : chr "No" "No" "No" "No" ...
## $ f_batterylife : int 5 5 3 4 5 5 4 5 4 5 ...
## $ f_price : int 4 5 4 3 3 5 3 5 4 3 ...
## $ f_size : int 3 5 2 3 3 4 4 4 3 5 ...
## $ f_multitasking : int 4 3 4 4 4 4 5 4 4 5 ...
## $ f_noise : int 4 4 1 4 4 5 5 3 4 5 ...
## $ f_performance : int 2 5 4 4 5 5 5 3 4 5 ...
## $ f_neural : int 2 2 2 4 3 5 3 2 3 3 ...
## $ f_synergy : int 1 2 2 4 4 4 3 2 3 5 ...
## $ f_performanceloss : int 1 4 2 3 4 2 2 3 4 5 ...
## $ m1_consideration : int 1 2 4 2 4 2 3 1 5 5 ...
## $ m1_purchase : Factor w/ 2 levels "No","Yes": 2 1 2 1 2 1 2 1 2 2 ...
## $ gender : Factor w/ 2 levels "Female","Male": 2 2 2 1 2 1 2 2 2 2 ...
## $ age_group : Factor w/ 9 levels "1","2","3","4",..: 2 2 2 2 5 2 6 2 7 4 ...
## $ income_group : Factor w/ 7 levels "1","2","3","4",..: 2 3 2 2 7 2 7 2 7 6 ...
## $ status : Factor w/ 6 levels "Employed","Retired",..: 4 1 4 4 1 4 1 4 1 1 ...
## $ domain : Factor w/ 22 levels "Administration & Public Services",..: 21 10 13 3 12 17 13 22 13 12 ...
# create_report(df)
plot_missing(df)
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## ℹ The deprecated feature was likely used in the DataExplorer package.
## Please report the issue at
## <https://github.com/boxuancui/DataExplorer/issues>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
df_num <- df[sapply(df, is.numeric)]
plot_histogram(df_num)
plot_correlation(df_num)
# Se requieren predictores numéricos.
# Convertimos factores a dummies con caret.
dmy <- dummyVars(m1_purchase ~ ., data = df, fullRank = TRUE)
X <- predict(dmy, newdata = df)
df_modelo <- data.frame(m1_purchase = df$m1_purchase, X)
# Normalmente 80-20
set.seed(123)
renglones_entrenamiento <- createDataPartition(df_modelo$m1_purchase, p = 0.8, list = FALSE)
entrenamiento <- df_modelo[renglones_entrenamiento, ]
prueba <- df_modelo[-renglones_entrenamiento, ]
modelo1 <- train(m1_purchase ~ ., data=entrenamiento,
method = "svmLinear", #Cambiar
preProcess = c("scale", "center"),
trControl = trainControl(method="cv", number=10),
tuneGrid = data.frame(C=1) #Cambiar
)
resultado_entrenamiento1 <- predict(modelo1, entrenamiento)
resultado_prueba1 <- predict(modelo1, prueba)
# Matriz de Confusión
# Matriz de Confusión del Resultado del Entrenamiento
mcre1 <- confusionMatrix(resultado_entrenamiento1, entrenamiento$m1_purchase)
mcre1
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Yes
## No 31 1
## Yes 5 70
##
## Accuracy : 0.9439
## 95% CI : (0.8819, 0.9791)
## No Information Rate : 0.6636
## P-Value [Acc > NIR] : 3.021e-12
##
## Kappa : 0.8709
##
## Mcnemar's Test P-Value : 0.2207
##
## Sensitivity : 0.8611
## Specificity : 0.9859
## Pos Pred Value : 0.9688
## Neg Pred Value : 0.9333
## Prevalence : 0.3364
## Detection Rate : 0.2897
## Detection Prevalence : 0.2991
## Balanced Accuracy : 0.9235
##
## 'Positive' Class : No
##
# Matriz de Confusión del Resultado de la Prueba
mcrp1 <- confusionMatrix(resultado_prueba1, prueba$m1_purchase)
mcrp1
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Yes
## No 3 6
## Yes 6 11
##
## Accuracy : 0.5385
## 95% CI : (0.3337, 0.7341)
## No Information Rate : 0.6538
## P-Value [Acc > NIR] : 0.9231
##
## Kappa : -0.0196
##
## Mcnemar's Test P-Value : 1.0000
##
## Sensitivity : 0.3333
## Specificity : 0.6471
## Pos Pred Value : 0.3333
## Neg Pred Value : 0.6471
## Prevalence : 0.3462
## Detection Rate : 0.1154
## Detection Prevalence : 0.3462
## Balanced Accuracy : 0.4902
##
## 'Positive' Class : No
##
modelo2 <- train(m1_purchase ~ ., 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
# Matriz de Confusión del Resultado del Entrenamiento
mcre2 <- confusionMatrix(resultado_entrenamiento2, entrenamiento$m1_purchase)
mcre2
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Yes
## No 34 0
## Yes 2 71
##
## Accuracy : 0.9813
## 95% CI : (0.9341, 0.9977)
## No Information Rate : 0.6636
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9576
##
## Mcnemar's Test P-Value : 0.4795
##
## Sensitivity : 0.9444
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 0.9726
## Prevalence : 0.3364
## Detection Rate : 0.3178
## Detection Prevalence : 0.3178
## Balanced Accuracy : 0.9722
##
## 'Positive' Class : No
##
# Matriz de Confusión del Resultado de la Prueba
mcrp2 <- confusionMatrix(resultado_prueba2, prueba$m1_purchase)
mcrp2
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Yes
## No 0 0
## Yes 9 17
##
## Accuracy : 0.6538
## 95% CI : (0.4433, 0.8279)
## No Information Rate : 0.6538
## P-Value [Acc > NIR] : 0.589398
##
## Kappa : 0
##
## Mcnemar's Test P-Value : 0.007661
##
## Sensitivity : 0.0000
## Specificity : 1.0000
## Pos Pred Value : NaN
## Neg Pred Value : 0.6538
## Prevalence : 0.3462
## Detection Rate : 0.0000
## Detection Prevalence : 0.0000
## Balanced Accuracy : 0.5000
##
## 'Positive' Class : No
##
modelo3 <- train(m1_purchase ~ ., 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
# Matriz de Confusión del Resultado del Entrenamiento
mcre3 <- confusionMatrix(resultado_entrenamiento3, entrenamiento$m1_purchase)
mcre3
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Yes
## No 31 1
## Yes 5 70
##
## Accuracy : 0.9439
## 95% CI : (0.8819, 0.9791)
## No Information Rate : 0.6636
## P-Value [Acc > NIR] : 3.021e-12
##
## Kappa : 0.8709
##
## Mcnemar's Test P-Value : 0.2207
##
## Sensitivity : 0.8611
## Specificity : 0.9859
## Pos Pred Value : 0.9688
## Neg Pred Value : 0.9333
## Prevalence : 0.3364
## Detection Rate : 0.2897
## Detection Prevalence : 0.2991
## Balanced Accuracy : 0.9235
##
## 'Positive' Class : No
##
# Matriz de Confusión del Resultado de la Prueba
mcrp3 <- confusionMatrix(resultado_prueba3, prueba$m1_purchase)
mcrp3
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Yes
## No 3 6
## Yes 6 11
##
## Accuracy : 0.5385
## 95% CI : (0.3337, 0.7341)
## No Information Rate : 0.6538
## P-Value [Acc > NIR] : 0.9231
##
## Kappa : -0.0196
##
## Mcnemar's Test P-Value : 1.0000
##
## Sensitivity : 0.3333
## Specificity : 0.6471
## Pos Pred Value : 0.3333
## Neg Pred Value : 0.6471
## Prevalence : 0.3462
## Detection Rate : 0.1154
## Detection Prevalence : 0.3462
## Balanced Accuracy : 0.4902
##
## 'Positive' Class : No
##
modelo4 <- train(m1_purchase ~ ., 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
# Matriz de Confusión del Resultado del Entrenamiento
mcre4 <- confusionMatrix(resultado_entrenamiento4, entrenamiento$m1_purchase)
mcre4
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Yes
## No 17 2
## Yes 19 69
##
## Accuracy : 0.8037
## 95% CI : (0.7158, 0.8742)
## No Information Rate : 0.6636
## P-Value [Acc > NIR] : 0.0010139
##
## Kappa : 0.5025
##
## Mcnemar's Test P-Value : 0.0004803
##
## Sensitivity : 0.4722
## Specificity : 0.9718
## Pos Pred Value : 0.8947
## Neg Pred Value : 0.7841
## Prevalence : 0.3364
## Detection Rate : 0.1589
## Detection Prevalence : 0.1776
## Balanced Accuracy : 0.7220
##
## 'Positive' Class : No
##
# Matriz de Confusión del Resultado de la Prueba
mcrp4 <- confusionMatrix(resultado_prueba4, prueba$m1_purchase)
mcrp4
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Yes
## No 4 6
## Yes 5 11
##
## Accuracy : 0.5769
## 95% CI : (0.3692, 0.7665)
## No Information Rate : 0.6538
## P-Value [Acc > NIR] : 0.8485
##
## Kappa : 0.0892
##
## Mcnemar's Test P-Value : 1.0000
##
## Sensitivity : 0.4444
## Specificity : 0.6471
## Pos Pred Value : 0.4000
## Neg Pred Value : 0.6875
## Prevalence : 0.3462
## Detection Rate : 0.1538
## Detection Prevalence : 0.3846
## Balanced Accuracy : 0.5458
##
## 'Positive' Class : No
##
modelo5 <- train(m1_purchase ~ ., data=entrenamiento,
method = "nnet", #Cambiar
preProcess = c("scale", "center"),
trControl = trainControl(method="cv", number=10)
#Cambiar
)
## # weights: 62
## initial value 67.098707
## iter 10 value 34.190509
## iter 20 value 25.565734
## iter 30 value 24.105787
## iter 40 value 24.099882
## iter 50 value 24.099241
## final value 24.099203
## converged
## # weights: 184
## initial value 63.529556
## iter 10 value 13.273809
## iter 20 value 7.371019
## iter 30 value 6.277015
## iter 40 value 6.144813
## iter 50 value 6.143215
## iter 60 value 6.141207
## iter 70 value 6.140583
## iter 80 value 6.139713
## iter 90 value 6.139028
## iter 100 value 6.138767
## final value 6.138767
## stopped after 100 iterations
## # weights: 306
## initial value 66.279618
## iter 10 value 14.319029
## iter 20 value 3.299890
## iter 30 value 2.837325
## iter 40 value 2.815101
## iter 50 value 2.791181
## iter 60 value 2.783450
## iter 70 value 2.773175
## iter 80 value 2.772794
## iter 90 value 2.772733
## iter 100 value 2.772658
## final value 2.772658
## stopped after 100 iterations
## # weights: 62
## initial value 63.802165
## iter 10 value 36.146380
## iter 20 value 25.145356
## iter 30 value 21.799870
## iter 40 value 21.239195
## iter 50 value 21.230278
## final value 21.230276
## converged
## # weights: 184
## initial value 67.422817
## iter 10 value 28.696609
## iter 20 value 18.187488
## iter 30 value 16.362784
## iter 40 value 16.206440
## iter 50 value 16.184680
## iter 60 value 16.182977
## final value 16.182819
## converged
## # weights: 306
## initial value 65.425463
## iter 10 value 24.135706
## iter 20 value 16.193583
## iter 30 value 14.974288
## iter 40 value 14.804076
## iter 50 value 14.680703
## iter 60 value 14.655922
## iter 70 value 14.648592
## iter 80 value 14.630171
## iter 90 value 14.620213
## iter 100 value 14.619851
## final value 14.619851
## stopped after 100 iterations
## # weights: 62
## initial value 68.988839
## iter 10 value 29.749183
## iter 20 value 24.964240
## iter 30 value 21.348966
## iter 40 value 21.326992
## iter 50 value 21.324398
## iter 60 value 21.209636
## iter 70 value 19.065726
## iter 80 value 19.064012
## iter 90 value 19.062884
## iter 100 value 19.062201
## final value 19.062201
## stopped after 100 iterations
## # weights: 184
## initial value 77.375448
## iter 10 value 26.216055
## iter 20 value 15.527799
## iter 30 value 13.793433
## iter 40 value 12.757908
## iter 50 value 12.559830
## iter 60 value 6.336715
## iter 70 value 5.437875
## iter 80 value 5.428100
## iter 90 value 3.830120
## iter 100 value 2.965522
## final value 2.965522
## stopped after 100 iterations
## # weights: 306
## initial value 77.830049
## iter 10 value 12.592691
## iter 20 value 6.407919
## iter 30 value 6.032685
## iter 40 value 5.842431
## iter 50 value 5.793031
## iter 60 value 5.764813
## iter 70 value 5.744921
## iter 80 value 5.628311
## iter 90 value 3.024216
## iter 100 value 2.970170
## final value 2.970170
## stopped after 100 iterations
## # weights: 62
## initial value 63.135699
## iter 10 value 34.945636
## iter 20 value 15.229697
## iter 30 value 14.260147
## iter 40 value 14.224841
## iter 50 value 14.224725
## iter 60 value 14.224702
## final value 14.224702
## converged
## # weights: 184
## initial value 75.950069
## iter 10 value 29.473728
## iter 20 value 17.662210
## iter 30 value 14.073352
## iter 40 value 13.586858
## iter 50 value 12.911791
## iter 60 value 12.379723
## iter 70 value 12.243577
## iter 80 value 12.051487
## iter 90 value 12.050013
## iter 100 value 12.048354
## final value 12.048354
## stopped after 100 iterations
## # weights: 306
## initial value 121.427722
## iter 10 value 8.758826
## iter 20 value 2.958966
## iter 30 value 1.946421
## iter 40 value 1.910201
## iter 50 value 1.909820
## iter 60 value 1.909672
## iter 70 value 1.909590
## iter 80 value 1.909571
## iter 90 value 1.909563
## iter 100 value 1.909551
## final value 1.909551
## stopped after 100 iterations
## # weights: 62
## initial value 63.581658
## iter 10 value 36.233274
## iter 20 value 28.157071
## iter 30 value 21.073706
## iter 40 value 20.429111
## iter 50 value 20.409129
## final value 20.409004
## converged
## # weights: 184
## initial value 74.192845
## iter 10 value 26.211303
## iter 20 value 19.139020
## iter 30 value 17.871765
## iter 40 value 17.638320
## iter 50 value 17.575063
## iter 60 value 17.568559
## iter 70 value 17.557609
## iter 80 value 17.549223
## iter 90 value 17.531701
## iter 100 value 17.530941
## final value 17.530941
## stopped after 100 iterations
## # weights: 306
## initial value 69.083759
## iter 10 value 28.096885
## iter 20 value 18.299792
## iter 30 value 15.932895
## iter 40 value 15.059954
## iter 50 value 14.872960
## iter 60 value 14.804384
## iter 70 value 14.771225
## iter 80 value 14.758982
## iter 90 value 14.755743
## iter 100 value 14.753253
## final value 14.753253
## stopped after 100 iterations
## # weights: 62
## initial value 61.410167
## iter 10 value 29.648175
## iter 20 value 26.548833
## iter 30 value 24.773478
## iter 40 value 24.759990
## iter 50 value 24.758160
## iter 60 value 24.755886
## iter 70 value 24.753714
## iter 80 value 24.752657
## iter 90 value 24.751760
## iter 100 value 24.657167
## final value 24.657167
## stopped after 100 iterations
## # weights: 184
## initial value 63.261654
## iter 10 value 18.185745
## iter 20 value 8.412622
## iter 30 value 8.055648
## iter 40 value 7.965685
## iter 50 value 7.806963
## iter 60 value 7.400713
## iter 70 value 7.274042
## iter 80 value 6.440459
## iter 90 value 5.038687
## iter 100 value 5.025069
## final value 5.025069
## stopped after 100 iterations
## # weights: 306
## initial value 62.470495
## iter 10 value 12.353216
## iter 20 value 9.385551
## iter 30 value 8.501586
## iter 40 value 8.454297
## iter 50 value 8.414151
## iter 60 value 3.611708
## iter 70 value 2.273929
## iter 80 value 2.232643
## iter 90 value 2.205615
## iter 100 value 2.186831
## final value 2.186831
## stopped after 100 iterations
## # weights: 62
## initial value 64.673754
## iter 10 value 29.246216
## iter 20 value 24.957073
## iter 30 value 24.406829
## iter 40 value 21.285850
## iter 50 value 21.274766
## iter 60 value 21.274209
## final value 21.274078
## converged
## # weights: 184
## initial value 64.222808
## iter 10 value 14.593026
## iter 20 value 4.907662
## iter 30 value 3.305290
## iter 40 value 2.843962
## iter 50 value 2.778165
## iter 60 value 2.773271
## iter 70 value 2.772920
## iter 80 value 2.772734
## iter 90 value 2.772599
## final value 2.772595
## converged
## # weights: 306
## initial value 71.464835
## iter 10 value 6.649081
## iter 20 value 2.805577
## iter 30 value 2.774743
## iter 40 value 2.772792
## iter 50 value 2.772596
## iter 60 value 2.772589
## final value 2.772589
## converged
## # weights: 62
## initial value 63.367083
## iter 10 value 29.925651
## iter 20 value 22.345216
## iter 30 value 20.360041
## iter 40 value 19.818660
## iter 50 value 19.359852
## iter 60 value 19.343613
## iter 70 value 19.343222
## final value 19.343210
## converged
## # weights: 184
## initial value 76.414361
## iter 10 value 28.680834
## iter 20 value 17.373687
## iter 30 value 16.063645
## iter 40 value 15.826469
## iter 50 value 15.694557
## iter 60 value 15.246287
## iter 70 value 14.761512
## iter 80 value 14.756937
## iter 90 value 14.756706
## iter 100 value 14.756671
## final value 14.756671
## stopped after 100 iterations
## # weights: 306
## initial value 67.526217
## iter 10 value 21.949242
## iter 20 value 14.407373
## iter 30 value 13.897402
## iter 40 value 13.788328
## iter 50 value 13.773106
## iter 60 value 13.772294
## iter 70 value 13.772227
## final value 13.772222
## converged
## # weights: 62
## initial value 62.967894
## iter 10 value 34.560819
## iter 20 value 26.959346
## iter 30 value 25.242342
## iter 40 value 24.371484
## iter 50 value 21.341518
## iter 60 value 21.334531
## iter 70 value 21.329375
## iter 80 value 21.324476
## iter 90 value 21.319562
## iter 100 value 21.316536
## final value 21.316536
## stopped after 100 iterations
## # weights: 184
## initial value 71.488096
## iter 10 value 14.469233
## iter 20 value 10.366442
## iter 30 value 9.714581
## iter 40 value 8.335375
## iter 50 value 8.256304
## iter 60 value 7.651579
## iter 70 value 7.032352
## iter 80 value 7.027138
## iter 90 value 7.016650
## iter 100 value 7.011482
## final value 7.011482
## stopped after 100 iterations
## # weights: 306
## initial value 118.474585
## iter 10 value 15.365348
## iter 20 value 7.894215
## iter 30 value 7.236786
## iter 40 value 7.134818
## iter 50 value 7.113855
## iter 60 value 6.311357
## iter 70 value 5.700620
## iter 80 value 3.060427
## iter 90 value 2.968636
## iter 100 value 2.936801
## final value 2.936801
## stopped after 100 iterations
## # weights: 62
## initial value 63.324791
## iter 10 value 27.011249
## iter 20 value 15.906400
## iter 30 value 13.019410
## iter 40 value 12.829455
## iter 50 value 12.825795
## iter 60 value 12.825643
## iter 70 value 12.825594
## final value 12.825589
## converged
## # weights: 184
## initial value 93.647016
## iter 10 value 17.541305
## iter 20 value 6.484307
## iter 30 value 3.866738
## iter 40 value 3.828761
## iter 50 value 3.823672
## iter 60 value 3.820314
## iter 70 value 3.819832
## iter 80 value 3.819459
## iter 90 value 3.819261
## iter 100 value 3.737645
## final value 3.737645
## stopped after 100 iterations
## # weights: 306
## initial value 62.897135
## iter 10 value 11.390808
## iter 20 value 3.404318
## iter 30 value 2.803281
## iter 40 value 2.772799
## iter 50 value 2.772617
## final value 2.772592
## converged
## # weights: 62
## initial value 64.062943
## iter 10 value 35.422565
## iter 20 value 25.705605
## iter 30 value 23.004226
## iter 40 value 22.665241
## iter 50 value 22.658111
## final value 22.658104
## converged
## # weights: 184
## initial value 70.064271
## iter 10 value 27.042826
## iter 20 value 18.182627
## iter 30 value 16.459911
## iter 40 value 15.997728
## iter 50 value 15.878095
## iter 60 value 15.874525
## iter 70 value 14.993683
## iter 80 value 14.805731
## iter 90 value 14.793029
## iter 100 value 14.792740
## final value 14.792740
## stopped after 100 iterations
## # weights: 306
## initial value 69.791016
## iter 10 value 22.825086
## iter 20 value 15.846660
## iter 30 value 15.117612
## iter 40 value 14.723641
## iter 50 value 14.535360
## iter 60 value 14.483053
## iter 70 value 14.448582
## iter 80 value 14.375302
## iter 90 value 14.329346
## iter 100 value 14.303397
## final value 14.303397
## stopped after 100 iterations
## # weights: 62
## initial value 62.438413
## iter 10 value 37.173411
## iter 20 value 29.875144
## iter 30 value 28.168568
## iter 40 value 28.064242
## iter 50 value 28.053962
## iter 60 value 28.050480
## iter 70 value 28.049396
## iter 80 value 28.048650
## iter 90 value 28.048037
## iter 100 value 28.047590
## final value 28.047590
## stopped after 100 iterations
## # weights: 184
## initial value 71.858110
## iter 10 value 18.158388
## iter 20 value 17.318164
## iter 30 value 17.087576
## iter 40 value 16.812764
## iter 50 value 16.740457
## iter 60 value 16.698550
## iter 70 value 15.791693
## iter 80 value 15.750860
## iter 90 value 15.633907
## iter 100 value 15.621490
## final value 15.621490
## stopped after 100 iterations
## # weights: 306
## initial value 60.212507
## iter 10 value 4.501790
## iter 20 value 3.014194
## iter 30 value 2.979414
## iter 40 value 2.944844
## iter 50 value 2.903414
## iter 60 value 2.893155
## iter 70 value 2.886249
## iter 80 value 2.879215
## iter 90 value 2.870762
## iter 100 value 2.866155
## final value 2.866155
## stopped after 100 iterations
## # weights: 62
## initial value 91.072552
## iter 10 value 33.121705
## iter 20 value 15.991437
## iter 30 value 15.340411
## iter 40 value 15.133397
## iter 50 value 10.271883
## iter 60 value 10.255222
## iter 70 value 10.254135
## iter 80 value 10.253961
## final value 10.253959
## converged
## # weights: 184
## initial value 62.499382
## iter 10 value 12.143792
## iter 20 value 6.123163
## iter 30 value 6.070561
## iter 40 value 6.068660
## iter 50 value 6.068435
## final value 6.068432
## converged
## # weights: 306
## initial value 65.913644
## iter 10 value 12.819816
## iter 20 value 3.146517
## iter 30 value 2.782287
## iter 40 value 2.773087
## iter 50 value 2.772603
## final value 2.772602
## converged
## # weights: 62
## initial value 64.819897
## iter 10 value 35.927275
## iter 20 value 25.007313
## iter 30 value 20.096288
## iter 40 value 19.658637
## iter 50 value 19.322506
## iter 60 value 18.162230
## iter 70 value 17.739056
## iter 80 value 17.709144
## final value 17.709129
## converged
## # weights: 184
## initial value 68.446795
## iter 10 value 24.994609
## iter 20 value 15.532752
## iter 30 value 13.973141
## iter 40 value 13.801027
## iter 50 value 13.786178
## iter 60 value 13.784641
## final value 13.784637
## converged
## # weights: 306
## initial value 68.004748
## iter 10 value 19.535492
## iter 20 value 14.111214
## iter 30 value 13.370513
## iter 40 value 13.136641
## iter 50 value 13.090446
## iter 60 value 13.058520
## iter 70 value 13.012129
## iter 80 value 13.010876
## iter 90 value 13.010803
## final value 13.010802
## converged
## # weights: 62
## initial value 61.063232
## iter 10 value 23.127677
## iter 20 value 19.333143
## iter 30 value 14.989529
## iter 40 value 14.737447
## iter 50 value 14.725472
## iter 60 value 13.060126
## iter 70 value 12.893969
## iter 80 value 12.889487
## iter 90 value 10.327531
## iter 100 value 10.311208
## final value 10.311208
## stopped after 100 iterations
## # weights: 184
## initial value 64.712034
## iter 10 value 11.266668
## iter 20 value 3.853876
## iter 30 value 3.557953
## iter 40 value 3.543862
## iter 50 value 3.524762
## iter 60 value 3.515583
## iter 70 value 3.508092
## iter 80 value 3.496692
## iter 90 value 3.386961
## iter 100 value 2.987595
## final value 2.987595
## stopped after 100 iterations
## # weights: 306
## initial value 67.673781
## iter 10 value 17.686777
## iter 20 value 10.051861
## iter 30 value 8.641459
## iter 40 value 4.893615
## iter 50 value 4.855881
## iter 60 value 4.837491
## iter 70 value 4.335645
## iter 80 value 4.284499
## iter 90 value 4.259422
## iter 100 value 3.810224
## final value 3.810224
## stopped after 100 iterations
## # weights: 62
## initial value 65.577832
## iter 10 value 31.535072
## iter 20 value 24.580212
## iter 30 value 24.459030
## iter 40 value 23.056535
## iter 50 value 22.934213
## iter 60 value 21.579459
## iter 70 value 21.565412
## iter 80 value 20.017923
## iter 90 value 20.016713
## iter 100 value 20.016322
## final value 20.016322
## stopped after 100 iterations
## # weights: 184
## initial value 66.760488
## iter 10 value 10.060278
## iter 20 value 5.584650
## iter 30 value 5.283547
## iter 40 value 5.274575
## iter 50 value 4.752979
## iter 60 value 3.380158
## iter 70 value 3.365925
## iter 80 value 3.365447
## iter 90 value 3.365425
## iter 100 value 3.365137
## final value 3.365137
## stopped after 100 iterations
## # weights: 306
## initial value 62.595405
## iter 10 value 6.457766
## iter 20 value 2.018183
## iter 30 value 1.912500
## iter 40 value 1.909593
## iter 50 value 1.909545
## final value 1.909545
## converged
## # weights: 62
## initial value 77.237153
## iter 10 value 37.602156
## iter 20 value 28.170780
## iter 30 value 22.414492
## iter 40 value 19.498458
## iter 50 value 18.365226
## iter 60 value 18.328521
## iter 70 value 18.317047
## iter 80 value 18.303650
## iter 90 value 18.302468
## iter 100 value 18.302430
## final value 18.302430
## stopped after 100 iterations
## # weights: 184
## initial value 67.512998
## iter 10 value 34.987188
## iter 20 value 21.038282
## iter 30 value 15.307591
## iter 40 value 13.718509
## iter 50 value 13.148445
## iter 60 value 13.044547
## iter 70 value 13.025583
## iter 80 value 13.025301
## final value 13.025300
## converged
## # weights: 306
## initial value 69.441863
## iter 10 value 19.158218
## iter 20 value 13.362433
## iter 30 value 12.754280
## iter 40 value 12.592236
## iter 50 value 12.367319
## iter 60 value 12.133592
## iter 70 value 12.073882
## iter 80 value 12.067812
## iter 90 value 12.067465
## final value 12.067460
## converged
## # weights: 62
## initial value 68.314346
## iter 10 value 24.249700
## iter 20 value 21.761395
## iter 30 value 21.516469
## iter 40 value 21.499624
## iter 50 value 21.497567
## iter 60 value 21.497088
## iter 70 value 21.496761
## iter 80 value 21.495643
## iter 90 value 21.353643
## iter 100 value 21.203443
## final value 21.203443
## stopped after 100 iterations
## # weights: 184
## initial value 80.714979
## iter 10 value 24.234442
## iter 20 value 15.014851
## iter 30 value 12.181271
## iter 40 value 12.133419
## iter 50 value 12.064230
## iter 60 value 11.936194
## iter 70 value 11.678996
## iter 80 value 11.607160
## iter 90 value 11.589171
## iter 100 value 11.574597
## final value 11.574597
## stopped after 100 iterations
## # weights: 306
## initial value 82.478186
## iter 10 value 15.632242
## iter 20 value 7.408036
## iter 30 value 4.353945
## iter 40 value 3.956579
## iter 50 value 3.944504
## iter 60 value 2.262281
## iter 70 value 2.071590
## iter 80 value 2.050081
## iter 90 value 2.043914
## iter 100 value 2.030803
## final value 2.030803
## stopped after 100 iterations
## # weights: 62
## initial value 60.521685
## iter 10 value 28.623853
## iter 20 value 21.291531
## iter 30 value 19.760239
## iter 40 value 19.743795
## iter 50 value 19.740373
## iter 60 value 19.739569
## iter 70 value 19.739487
## iter 80 value 19.739227
## final value 19.739199
## converged
## # weights: 184
## initial value 67.827895
## iter 10 value 21.732973
## iter 20 value 9.295810
## iter 30 value 7.209633
## iter 40 value 7.201914
## iter 50 value 6.934399
## final value 6.689899
## converged
## # weights: 306
## initial value 66.052098
## iter 10 value 15.448598
## iter 20 value 4.921830
## iter 30 value 4.422849
## iter 40 value 4.411949
## iter 50 value 4.411591
## iter 60 value 4.411566
## iter 60 value 4.411566
## final value 4.411564
## converged
## # weights: 62
## initial value 62.305782
## iter 10 value 33.460515
## iter 20 value 24.210064
## iter 30 value 21.522826
## iter 40 value 21.126556
## iter 50 value 21.117667
## final value 21.117446
## converged
## # weights: 184
## initial value 75.474134
## iter 10 value 28.555196
## iter 20 value 18.119800
## iter 30 value 16.012959
## iter 40 value 14.995530
## iter 50 value 14.540631
## iter 60 value 14.328161
## iter 70 value 14.324212
## final value 14.324207
## converged
## # weights: 306
## initial value 67.082411
## iter 10 value 24.178240
## iter 20 value 15.680364
## iter 30 value 14.735202
## iter 40 value 14.194330
## iter 50 value 13.934721
## iter 60 value 13.832825
## iter 70 value 13.615390
## iter 80 value 13.552693
## iter 90 value 13.546964
## iter 100 value 13.544512
## final value 13.544512
## stopped after 100 iterations
## # weights: 62
## initial value 62.076608
## iter 10 value 22.802523
## iter 20 value 20.289013
## iter 30 value 18.531505
## iter 40 value 18.528379
## iter 50 value 18.525044
## iter 60 value 18.523362
## iter 70 value 18.522161
## iter 80 value 18.521731
## iter 90 value 18.521406
## iter 100 value 18.521235
## final value 18.521235
## stopped after 100 iterations
## # weights: 184
## initial value 83.017484
## iter 10 value 20.595347
## iter 20 value 7.781503
## iter 30 value 7.220706
## iter 40 value 6.783638
## iter 50 value 6.049986
## iter 60 value 3.446938
## iter 70 value 2.906776
## iter 80 value 2.885470
## iter 90 value 2.875353
## iter 100 value 2.656967
## final value 2.656967
## stopped after 100 iterations
## # weights: 306
## initial value 86.848911
## iter 10 value 10.458109
## iter 20 value 6.315510
## iter 30 value 6.233419
## iter 40 value 4.757461
## iter 50 value 4.681095
## iter 60 value 4.657263
## iter 70 value 4.611354
## iter 80 value 4.017995
## iter 90 value 3.997862
## iter 100 value 3.979033
## final value 3.979033
## stopped after 100 iterations
## # weights: 62
## initial value 70.177145
## iter 10 value 29.958893
## iter 20 value 25.195873
## iter 30 value 23.715438
## iter 40 value 17.800922
## iter 50 value 17.663815
## iter 60 value 17.661947
## iter 70 value 17.661355
## iter 80 value 17.660893
## iter 90 value 17.660858
## iter 100 value 17.660709
## final value 17.660709
## stopped after 100 iterations
## # weights: 184
## initial value 69.499736
## iter 10 value 20.589385
## iter 20 value 14.983644
## iter 30 value 14.189562
## iter 40 value 13.806510
## iter 50 value 13.773014
## iter 60 value 13.766287
## iter 70 value 13.764447
## iter 80 value 13.594314
## iter 90 value 13.585287
## iter 100 value 13.399747
## final value 13.399747
## stopped after 100 iterations
## # weights: 306
## initial value 69.886580
## iter 10 value 8.252855
## iter 20 value 4.509225
## iter 30 value 3.855659
## iter 40 value 3.822959
## iter 50 value 3.820146
## iter 60 value 3.819694
## iter 70 value 3.819446
## iter 80 value 3.819318
## iter 90 value 3.819217
## iter 100 value 3.819201
## final value 3.819201
## stopped after 100 iterations
## # weights: 62
## initial value 79.436520
## iter 10 value 26.805015
## iter 20 value 22.152031
## iter 30 value 19.999393
## iter 40 value 19.961292
## final value 19.960757
## converged
## # weights: 184
## initial value 89.177369
## iter 10 value 31.358985
## iter 20 value 18.279470
## iter 30 value 17.164747
## iter 40 value 16.618478
## iter 50 value 16.562009
## iter 60 value 16.558030
## iter 70 value 16.538291
## iter 80 value 16.525755
## iter 90 value 16.525508
## final value 16.525507
## converged
## # weights: 306
## initial value 67.669574
## iter 10 value 21.644588
## iter 20 value 13.875246
## iter 30 value 13.110960
## iter 40 value 12.936906
## iter 50 value 12.905475
## iter 60 value 12.902549
## iter 70 value 12.902028
## iter 80 value 12.901971
## final value 12.901970
## converged
## # weights: 62
## initial value 74.948877
## iter 10 value 25.429217
## iter 20 value 17.808986
## iter 30 value 17.702917
## iter 40 value 16.414381
## iter 50 value 15.426493
## iter 60 value 15.404972
## iter 70 value 15.400913
## iter 80 value 12.894254
## iter 90 value 12.814883
## iter 100 value 12.805004
## final value 12.805004
## stopped after 100 iterations
## # weights: 184
## initial value 71.813377
## iter 10 value 30.353418
## iter 20 value 18.203836
## iter 30 value 15.516105
## iter 40 value 12.220408
## iter 50 value 12.071454
## iter 60 value 9.756926
## iter 70 value 9.603158
## iter 80 value 9.373618
## iter 90 value 8.962882
## iter 100 value 8.457106
## final value 8.457106
## stopped after 100 iterations
## # weights: 306
## initial value 64.543500
## iter 10 value 16.752210
## iter 20 value 7.264942
## iter 30 value 5.811870
## iter 40 value 4.364457
## iter 50 value 3.537590
## iter 60 value 3.469192
## iter 70 value 2.179523
## iter 80 value 2.100678
## iter 90 value 2.070749
## iter 100 value 2.045490
## final value 2.045490
## stopped after 100 iterations
## # weights: 62
## initial value 60.955627
## iter 10 value 19.946106
## iter 20 value 15.151314
## iter 30 value 12.835045
## iter 40 value 12.826490
## iter 50 value 12.825777
## iter 60 value 12.825600
## final value 12.825583
## converged
## # weights: 184
## initial value 82.037383
## iter 10 value 13.722932
## iter 20 value 3.750115
## iter 30 value 2.788460
## iter 40 value 2.772883
## iter 50 value 2.772653
## iter 60 value 2.772592
## final value 2.772589
## converged
## # weights: 306
## initial value 110.707732
## iter 10 value 9.415659
## iter 20 value 6.452012
## iter 30 value 4.498105
## iter 40 value 4.228711
## iter 50 value 4.168162
## iter 60 value 4.160662
## iter 70 value 4.159396
## iter 80 value 4.159190
## iter 90 value 4.158938
## iter 100 value 4.158921
## final value 4.158921
## stopped after 100 iterations
## # weights: 62
## initial value 63.233250
## iter 10 value 36.468897
## iter 20 value 22.994406
## iter 30 value 20.770407
## iter 40 value 20.209651
## iter 50 value 20.206793
## final value 20.206790
## converged
## # weights: 184
## initial value 87.108979
## iter 10 value 28.509193
## iter 20 value 15.444801
## iter 30 value 13.984992
## iter 40 value 13.856943
## iter 50 value 13.801942
## iter 60 value 13.799844
## iter 70 value 13.799811
## final value 13.799810
## converged
## # weights: 306
## initial value 109.609267
## iter 10 value 28.738835
## iter 20 value 15.627246
## iter 30 value 13.722953
## iter 40 value 13.034348
## iter 50 value 12.883077
## iter 60 value 12.872399
## iter 70 value 12.840955
## iter 80 value 12.812461
## iter 90 value 12.810420
## iter 100 value 12.810227
## final value 12.810227
## stopped after 100 iterations
## # weights: 62
## initial value 84.367607
## iter 10 value 36.099230
## iter 20 value 32.492575
## iter 30 value 29.795324
## iter 40 value 29.660726
## iter 50 value 26.722995
## iter 60 value 22.820896
## iter 70 value 21.198796
## iter 80 value 21.191284
## iter 90 value 21.188506
## iter 100 value 18.935511
## final value 18.935511
## stopped after 100 iterations
## # weights: 184
## initial value 61.423404
## iter 10 value 18.139855
## iter 20 value 13.289723
## iter 30 value 12.582995
## iter 40 value 12.429094
## iter 50 value 12.140166
## iter 60 value 11.641280
## iter 70 value 11.488142
## iter 80 value 11.162315
## iter 90 value 11.152972
## iter 100 value 10.972695
## final value 10.972695
## stopped after 100 iterations
## # weights: 306
## initial value 96.766047
## iter 10 value 13.942951
## iter 20 value 9.250581
## iter 30 value 7.622130
## iter 40 value 5.210083
## iter 50 value 4.417116
## iter 60 value 4.321077
## iter 70 value 3.807605
## iter 80 value 2.928228
## iter 90 value 2.913156
## iter 100 value 2.901738
## final value 2.901738
## stopped after 100 iterations
## # weights: 62
## initial value 69.953369
## iter 10 value 36.093771
## iter 20 value 26.167010
## iter 30 value 15.639903
## iter 40 value 15.314456
## iter 50 value 15.300138
## iter 60 value 15.293621
## iter 70 value 15.292359
## iter 80 value 15.291413
## iter 90 value 15.291229
## iter 100 value 15.291061
## final value 15.291061
## stopped after 100 iterations
## # weights: 184
## initial value 68.308560
## iter 10 value 19.897678
## iter 20 value 11.440097
## iter 30 value 9.369023
## iter 40 value 7.951055
## iter 50 value 7.794022
## iter 60 value 7.777943
## iter 70 value 7.775618
## iter 80 value 7.540088
## iter 90 value 5.826636
## iter 100 value 5.786962
## final value 5.786962
## stopped after 100 iterations
## # weights: 306
## initial value 83.584200
## iter 10 value 15.487745
## iter 20 value 6.909984
## iter 30 value 5.379080
## iter 40 value 5.288214
## iter 50 value 5.275963
## iter 60 value 5.273544
## iter 70 value 5.255549
## iter 80 value 2.814928
## iter 90 value 2.791756
## iter 100 value 2.782548
## final value 2.782548
## stopped after 100 iterations
## # weights: 62
## initial value 69.374011
## iter 10 value 31.849833
## iter 20 value 23.587528
## iter 30 value 22.232484
## iter 40 value 22.209381
## final value 22.209322
## converged
## # weights: 184
## initial value 72.422441
## iter 10 value 20.900574
## iter 20 value 15.404415
## iter 30 value 14.238875
## iter 40 value 13.889423
## iter 50 value 13.875353
## iter 60 value 13.873715
## iter 70 value 13.873597
## final value 13.873596
## converged
## # weights: 306
## initial value 76.045043
## iter 10 value 29.353223
## iter 20 value 16.123896
## iter 30 value 13.826310
## iter 40 value 13.526254
## iter 50 value 13.442342
## iter 60 value 13.429071
## iter 70 value 13.418612
## iter 80 value 13.418017
## iter 90 value 13.417868
## iter 100 value 13.417853
## final value 13.417853
## stopped after 100 iterations
## # weights: 62
## initial value 61.454486
## iter 10 value 40.265063
## iter 20 value 25.250806
## iter 30 value 17.270914
## iter 40 value 17.196270
## iter 50 value 17.186874
## iter 60 value 17.180336
## iter 70 value 17.175869
## iter 80 value 17.174307
## iter 90 value 17.173425
## iter 100 value 17.172233
## final value 17.172233
## stopped after 100 iterations
## # weights: 184
## initial value 67.977957
## iter 10 value 19.942615
## iter 20 value 10.893942
## iter 30 value 9.224255
## iter 40 value 8.470603
## iter 50 value 7.370169
## iter 60 value 7.358730
## iter 70 value 6.953991
## iter 80 value 6.860782
## iter 90 value 6.852846
## iter 100 value 6.842577
## final value 6.842577
## stopped after 100 iterations
## # weights: 306
## initial value 79.393688
## iter 10 value 17.092360
## iter 20 value 8.941972
## iter 30 value 6.846564
## iter 40 value 3.317036
## iter 50 value 3.163022
## iter 60 value 3.134701
## iter 70 value 3.116450
## iter 80 value 3.052863
## iter 90 value 3.027584
## iter 100 value 3.003008
## final value 3.003008
## stopped after 100 iterations
## # weights: 184
## initial value 80.982025
## iter 10 value 31.999948
## iter 20 value 19.567952
## iter 30 value 17.507111
## iter 40 value 16.728777
## iter 50 value 16.312257
## iter 60 value 15.548183
## iter 70 value 15.442645
## iter 80 value 15.425588
## iter 90 value 15.408520
## iter 100 value 15.390997
## final value 15.390997
## stopped after 100 iterations
resultado_entrenamiento5 <- predict(modelo5, entrenamiento)
resultado_prueba5 <- predict(modelo5, prueba)
# Matriz de Confusión
# Matriz de Confusión del Resultado del Entrenamiento
mcre5 <- confusionMatrix(resultado_entrenamiento5, entrenamiento$m1_purchase)
mcre5
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Yes
## No 34 0
## Yes 2 71
##
## Accuracy : 0.9813
## 95% CI : (0.9341, 0.9977)
## No Information Rate : 0.6636
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9576
##
## Mcnemar's Test P-Value : 0.4795
##
## Sensitivity : 0.9444
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 0.9726
## Prevalence : 0.3364
## Detection Rate : 0.3178
## Detection Prevalence : 0.3178
## Balanced Accuracy : 0.9722
##
## 'Positive' Class : No
##
# Matriz de Confusión del Resultado de la Prueba
mcrp5 <- confusionMatrix(resultado_prueba5, prueba$m1_purchase)
mcrp5
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Yes
## No 3 6
## Yes 6 11
##
## Accuracy : 0.5385
## 95% CI : (0.3337, 0.7341)
## No Information Rate : 0.6538
## P-Value [Acc > NIR] : 0.9231
##
## Kappa : -0.0196
##
## Mcnemar's Test P-Value : 1.0000
##
## Sensitivity : 0.3333
## Specificity : 0.6471
## Pos Pred Value : 0.3333
## Neg Pred Value : 0.6471
## Prevalence : 0.3462
## Detection Rate : 0.1154
## Detection Prevalence : 0.3462
## Balanced Accuracy : 0.4902
##
## 'Positive' Class : No
##
modelo6 <- train(m1_purchase ~ ., 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
# Matriz de Confusión del Resultado del Entrenamiento
mcre6 <- confusionMatrix(resultado_entrenamiento6, entrenamiento$m1_purchase)
mcre6
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Yes
## No 34 0
## Yes 2 71
##
## Accuracy : 0.9813
## 95% CI : (0.9341, 0.9977)
## No Information Rate : 0.6636
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9576
##
## Mcnemar's Test P-Value : 0.4795
##
## Sensitivity : 0.9444
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 0.9726
## Prevalence : 0.3364
## Detection Rate : 0.3178
## Detection Prevalence : 0.3178
## Balanced Accuracy : 0.9722
##
## 'Positive' Class : No
##
# Matriz de Confusión del Resultado de la Prueba
mcrp6 <- confusionMatrix(resultado_prueba6, prueba$m1_purchase)
mcrp6
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Yes
## No 3 2
## Yes 6 15
##
## Accuracy : 0.6923
## 95% CI : (0.4821, 0.8567)
## No Information Rate : 0.6538
## P-Value [Acc > NIR] : 0.4267
##
## Kappa : 0.2409
##
## Mcnemar's Test P-Value : 0.2888
##
## Sensitivity : 0.3333
## Specificity : 0.8824
## Pos Pred Value : 0.6000
## Neg Pred Value : 0.7143
## Prevalence : 0.3462
## Detection Rate : 0.1154
## Detection Prevalence : 0.1923
## Balanced Accuracy : 0.6078
##
## 'Positive' Class : No
##
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("Precision de entrenamiento", "Precision de prueba")
resultados
## svmLinear svmRadial svmPoly rpart nnet
## Precision de entrenamiento 0.9439252 0.9813084 0.9439252 0.8037383 0.9813084
## Precision de prueba 0.5384615 0.6538462 0.5384615 0.5769231 0.5384615
## rf
## Precision de entrenamiento 0.9813084
## Precision de prueba 0.6923077
Con esta base de datos, el objetivo es predecir “m1_purchase
(Yes/No)” a partir de características del usuario (perfil y
preferencias) y variables de percepción sobre el chip M1 de Apple.
Los modelos se comparan principalmente por su “Accuracy en prueba”, ya
que refleja mejor qué tan bien generaliza el modelo a datos nuevos.
El mejor modelo segun la prueba fue Random Forest, con una precisión aproximada de 69%. Aunque varios modelos mostraron alta precisión en entrenamiento (hasta 98%), se observa una caída significativa en prueba, lo que indica presencia de “overfitting”.