You are on page 1of 17

X=c(10,9,6,3,12,15,2)

Y=c(1,1,0,0,1,0,0)

modelo_r=lm(Y~X)

predichos=predict(modelo_r)

predichosca

caso=as.data.frame(cbind(X,Y))

head(caso)

str(caso)

caso$Y=as.factor(caso$Y)

library(nnet)

modelo_red=nnet(Y~X, data=caso, size=1)

summary(modelo_red)

predichos_caso=predict(modelo_red, caso, type = "class")

predichos_caso

#Matriz de Confusion

table(caso$Y,predichos_caso)

#Indicadores del modelo

library(caret)

predichos_caso=as.factor(predichos_caso)

indicadores=confusionMatrix(predichos_caso, caso$Y)

indicadores

#----------------------------------------------------------

#CARGAMOS LA DATA
diabetes=read.csv("https://raw.githubusercontent.com/VictorGuevaraP/Mineria-de-datos-2019-
2/master/diabetes_m.csv",sep = ";")

str(diabetes)

summary(diabetes1)

#Del analisis eliminar la primera columna

diabetes1<-diabetes[,2:10]

head(diabetes1)

#ANALISIS EXPLORATORIO DE DATOS

#asumiendo que los missing son Missng completamente al azar

#Imputamos por KNNIMPUTATION

library(DMwR)

diabetes2=knnImputation(diabetes1)

summary(diabetes2)

#############

library(ggplot2)

ggplot(data = diabetes2)+

geom_point(mapping = aes(x=edad, y=Índice.de.masa.corporal, color=resultado))

hist(sqrt(diabetes2$NumeroEmbarazos))

hist()

################

#REDES NEURONALES

#crear la data Train y test

set.seed(111)

muestra=sample(537,231)

#Train data
train=diabetes2[-muestra,]

#test data

test=diabetes2[muestra,]

dim(train)

dim(test)

fix(train)

#Entrenamos el modelo de ann

set.seed(222)

modelo_diab=nnet(resultado~.,data=train,size=99)

##Predecir basado en el modelo anterior

predichos_diab=predict(modelo_diab,test,type="class")

predichos_diab

comparando=as.data.frame(cbind(test$resultado, predichos_diab))

fix(comparando)

table(test$resultado, predichos_diab)

#Indicadores del modelo

library(caret)

str(predichos_diab)

predichos_diab=as.factor(predichos_diab)

str(test$resultado)

indicadores_diab=confusionMatrix(predichos_diab, test$resultado)

indicadores_diab

fix(train)

#Como cambiar el umbral

#CURVA ROC

predichos_prob=predict(modelo_diab,test,type = "raw")
predichos_prob

library(ROCR)

pred1=prediction(predichos_prob,test$resultado)

pred2=performance(pred1, "tpr","fpr")

plot(pred2, colorize=T)

lines(x=c(0,1), y=c(0,1))

R version 3.6.1 (2019-07-05) -- "Action of the Toes"


Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.


You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.


Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or


'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> x=c(10,9,6,3,12,15,2)
> Y=c(1,1,0,0,1,0,0)
> X=c(10,9,6,3,12,15,2)
> modelo_r=lm(Y~X)
> summary(modelo_r)

Call:
lm(formula = Y ~ X)

Residuals:
1 2 3 4 5 6 7
0.4809 0.5297 -0.3242 -0.1780 0.3835 -0.7627 -0.1292

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.03178 0.42061 0.076 0.943
X 0.04873 0.04547 1.072 0.333
Residual standard error: 0.528 on 5 degrees of freedom
Multiple R-squared: 0.1868, Adjusted R-squared: 0.02415
F-statistic: 1.149 on 1 and 5 DF, p-value: 0.3328

> predichos=predict(modelo_r)
> predichos
1 2 3 4 5 6 7
0.5190678 0.4703390 0.3241525 0.1779661 0.6165254 0.7627119 0.1292373
> caso=as.data.frame(cbind(X,Y))
> head(caso)
X Y
1 10 1
2 9 1
3 6 0
4 3 0
5 12 1
6 15 0
> library(nnet)
> modelo_red=nnet(Y~X, data=caso, size=1)
# weights: 4
initial value 1.865827
iter 10 value 1.196142
iter 20 value 0.882412
iter 30 value 0.789889
iter 40 value 0.756689
iter 50 value 0.753250
iter 60 value 0.751923
iter 70 value 0.751818
iter 80 value 0.751408
iter 90 value 0.751267
iter 100 value 0.751101
final value 0.751101
stopped after 100 iterations
> summary(modelo_r)

Call:
lm(formula = Y ~ X)

Residuals:
1 2 3 4 5 6 7
0.4809 0.5297 -0.3242 -0.1780 0.3835 -0.7627 -0.1292

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.03178 0.42061 0.076 0.943
X 0.04873 0.04547 1.072 0.333
Residual standard error: 0.528 on 5 degrees of freedom
Multiple R-squared: 0.1868, Adjusted R-squared: 0.02415
F-statistic: 1.149 on 1 and 5 DF, p-value: 0.3328

> summary(modelo_red)
a 1-1-1 network with 4 weights
options were -
b->h1 i1->h1
13.57 -2.32
b->o h1->o
1.10 -12.90
> predichos_caso=predict(modelo_red, caso, type = "class")
Error in predict.nnet(modelo_red, caso, type = "class") :
inappropriate fit for class
> library(nnet)
> summary(modelo_red)
a 1-1-1 network with 4 weights
options were -
b->h1 i1->h1
13.57 -2.32
b->o h1->o
1.10 -12.90
> predichos_caso=predict(modelo_red, caso, type = "class")
Error in predict.nnet(modelo_red, caso, type = "class") :
inappropriate fit for class
>
> caso$Y=as.factor(caso$Y)
> modelo_red=nnet(Y~X, data=caso, size=1)
# weights: 4
initial value 4.867670
iter 10 value 4.778143
iter 20 value 4.750564
iter 30 value 2.251420
iter 40 value 2.250423
iter 50 value 2.250341
iter 60 value 2.250281
iter 70 value 2.250266
iter 80 value 2.250235
iter 90 value 2.250188
iter 100 value 2.250170
final value 2.250170
stopped after 100 iterations
> summary(modelo_red)
a 1-1-1 network with 4 weights
options were - entropy fitting
b->h1 i1->h1
-19.12 3.11
b->o h1->o
-14.09 15.19
> predichos_caso=predict(modelo_red, caso, type = "class")
> predichos_caso
[1] "1" "1" "0" "0" "1" "1" "0"
> table(caso$Y,predichos_caso)
predichos_caso
0 1
0 3 1
1 0 3
> #Indicadores del modelo
> library(caret)
Loading required package: lattice
Loading required package: ggplot2
> indicadores=confusionMatrix(predichos_caso, caso$Y)
Error: `data` and `reference` should be factors with the same levels.
> as.factor(predichos_caso)
[1] 1 1 0 0 1 1 0
Levels: 0 1
> indicadores=confusionMatrix(predichos_caso, caso$Y)
Error: `data` and `reference` should be factors with the same levels.
> predichos_caso=as.factor(predichos_caso)
> indicadores=confusionMatrix(predichos_caso, caso$Y)
> indicadores
Confusion Matrix and Statistics

Reference
Prediction 0 1
0 3 0
1 1 3

Accuracy : 0.8571
95% CI : (0.4213, 0.9964)
No Information Rate : 0.5714
P-Value [Acc > NIR] : 0.1243
Kappa : 0.72
Mcnemar's Test P-Value : 1.0000

Sensitivity : 0.7500
Specificity : 1.0000
Pos Pred Value : 1.0000
Neg Pred Value : 0.7500
Prevalence : 0.5714
Detection Rate : 0.4286
Detection Prevalence : 0.4286
Balanced Accuracy : 0.8750

'Positive' Class : 0

> data("iris")
> data(iris)
> #----------------------------------------------------------
> #CARGAMOS LA DATA
> diabetes=read.csv("https://raw.githubusercontent.com/VictorGuevaraP/Min
eria-de-datos-2019-2/master/diabetes_m.csv",sep = ";")
> str(diabetes)
'data.frame': 768 obs. of 10 variables:
$ n : int 1 2 3 4 5 6 7 8 9 10 ...
$ NumeroEmbarazos : int 6 1 8 1 0 5 3 10 2 8 ...
$ Concentrac.blucosa.plama : int 148 85 183 89 137 116 78 115
197 125 ...
$ Presión.arterial.diastólica : int 72 66 64 NA 40 74 NA 0 70 96
...
$ Tríceps.espesor.del.pliegue.cutáneo: int 35 29 0 23 NA 0 32 0 45 0 ..
.
$ X2.horas.suero.insulina : int 0 0 0 94 168 0 88 0 543 0 ..
.
$ Índice.de.masa.corporal : num 33.6 26.6 23.3 28.1 43.1 25.
6 31 35.3 30.5 0 ...
$ Función.pedigrí.de.la.diabetes : num 0.627 0.351 0.672 0.167 2.28
8 ...
$ edad : int 50 31 32 21 33 30 26 29 53 5
4 ...
$ resultado : Factor w/ 2 levels "Negativo","Po
sitivo": 2 1 2 1 2 1 2 1 2 2 ...
> summary(diabetes)
n NumeroEmbarazos Concentrac.blucosa.plama Presión.arteri
al.diastólica
Min. : 1.0 Min. : 0.000 Min. : 0.0 Min. : 0.00
1st Qu.:192.8 1st Qu.: 1.000 1st Qu.: 99.0 1st Qu.: 62.00
Median :384.5 Median : 3.000 Median :117.0 Median : 72.00
Mean :384.5 Mean : 3.845 Mean :120.9 Mean : 69.05
3rd Qu.:576.2 3rd Qu.: 6.000 3rd Qu.:140.2 3rd Qu.: 80.00
Max. :768.0 Max. :17.000 Max. :199.0 Max. :122.00
NA's :84
Tríceps.espesor.del.pliegue.cutáneo X2.horas.suero.insulina Índice.de.ma
sa.corporal Función.pedigrí.de.la.diabetes
Min. : 0.00 Min. : 0.00 Min. : 0.0
0 Min. :0.0780
1st Qu.: 0.00 1st Qu.: 0.00 1st Qu.:27.3
0 1st Qu.:0.2437
Median :23.00 Median : 24.00 Median :32.0
0 Median :0.3725
Mean :20.41 Mean : 78.23 Mean :31.9
9 Mean :0.4719
3rd Qu.:32.00 3rd Qu.:127.75 3rd Qu.:36.6
0 3rd Qu.:0.6262
Max. :99.00 Max. :680.00 Max. :67.1
0 Max. :2.4200
NA's :66 NA's :70
edad resultado
Min. :21.00 Negativo:500
1st Qu.:24.00 Positivo:268
Median :29.00
Mean :33.24
3rd Qu.:41.00
Max. :81.00

> #Del analisis eliminar la primera columna


> diabetes1<-diabetes[,2:10]
> head(diabetes1)
NumeroEmbarazos Concentrac.blucosa.plama Presión.arterial.diastólica Tr
íceps.espesor.del.pliegue.cutáneo
1 6 148 72
35
2 1 85 66
29
3 8 183 64
0
4 1 89 NA
23
5 0 137 40
NA
6 5 116 74
0
X2.horas.suero.insulina Índice.de.masa.corporal Función.pedigrí.de.la.d
iabetes edad resultado
1 0 33.6
0.627 50 Positivo
2 0 26.6
0.351 31 Negativo
3 0 23.3
0.672 32 Positivo
4 94 28.1
0.167 21 Negativo
5 168 43.1
2.288 33 Positivo
6 0 25.6
0.201 30 Negativo
> summary(diabetes1)
NumeroEmbarazos Concentrac.blucosa.plama Presión.arterial.diastólica Tr
íceps.espesor.del.pliegue.cutáneo
Min. : 0.000 Min. : 0.0 Min. : 0.00 Mi
n. : 0.00
1st Qu.: 1.000 1st Qu.: 99.0 1st Qu.: 62.00 1s
t Qu.: 0.00
Median : 3.000 Median :117.0 Median : 72.00 Me
dian :23.00
Mean : 3.845 Mean :120.9 Mean : 69.05 Me
an :20.41
3rd Qu.: 6.000 3rd Qu.:140.2 3rd Qu.: 80.00 3r
d Qu.:32.00
Max. :17.000 Max. :199.0 Max. :122.00 Ma
x. :99.00
NA's :84 NA
's :66
X2.horas.suero.insulina Índice.de.masa.corporal Función.pedigrí.de.la.di
abetes edad resultado
Min. : 0.00 Min. : 0.00 Min. :0.0780
Min. :21.00 Negativo:500
1st Qu.: 0.00 1st Qu.:27.30 1st Qu.:0.2437
1st Qu.:24.00 Positivo:268
Median : 24.00 Median :32.00 Median :0.3725
Median :29.00
Mean : 78.23 Mean :31.99 Mean :0.4719
Mean :33.24
3rd Qu.:127.75 3rd Qu.:36.60 3rd Qu.:0.6262
3rd Qu.:41.00
Max. :680.00 Max. :67.10 Max. :2.4200
Max. :81.00
NA's :70
> #ANALISIS EXPLORATORIO DE DATOS
> #
> #
> #
> #asumiendo que los missing son Missng completamente al azar
> library(DMwR)
Loading required package: grid
Registered S3 method overwritten by 'xts':
method from
as.zoo.xts zoo
Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
> diabetes2=knnImputation(diabetes1)
> summary(diabetes2)
NumeroEmbarazos Concentrac.blucosa.plama Presión.arterial.diastólica Tr
íceps.espesor.del.pliegue.cutáneo
Min. : 0.000 Min. : 0.0 Min. : 0.00 Mi
n. : 0.0
1st Qu.: 1.000 1st Qu.: 99.0 1st Qu.: 63.02 1s
t Qu.: 0.0
Median : 3.000 Median :117.0 Median : 71.21 Me
dian :23.0
Mean : 3.845 Mean :120.9 Mean : 68.94 Me
an :20.5
3rd Qu.: 6.000 3rd Qu.:140.2 3rd Qu.: 79.06 3r
d Qu.:32.0
Max. :17.000 Max. :199.0 Max. :122.00 Ma
x. :99.0
X2.horas.suero.insulina Índice.de.masa.corporal Función.pedigrí.de.la.di
abetes edad resultado
Min. : 0.00 Min. : 0.00 Min. :0.0780
Min. :21.00 Negativo:500
1st Qu.: 0.00 1st Qu.:27.30 1st Qu.:0.2437
1st Qu.:24.00 Positivo:268
Median : 42.39 Median :32.00 Median :0.3725
Median :29.00
Mean : 78.57 Mean :31.99 Mean :0.4719
Mean :33.24
3rd Qu.:126.55 3rd Qu.:36.60 3rd Qu.:0.6262
3rd Qu.:41.00
Max. :680.00 Max. :67.10 Max. :2.4200
Max. :81.00
> #ANALISIS EXPLORATORIO DE DATOS
> #
> #
> #
> library(ggplot2)
> ggplot(data = diabetes2)+
+ geom_point(mapping = aes(x=edad, y=Índice.de.masa.corporal, color=res
ultado))
> ################
> #REDES NEURONALES
> #crear la data Train y test
> muestra=sample[537,231]
Error in sample[537, 231] : object of type 'closure' is not subsettable
> ################
> #REDES NEURONALES
> #crear la data Train y test
> muestra=sample(537,231)
> #Train data
> train=diabetes2[-muestra,]
> #test data
> test=diabetes2[muestra,]
> dim(train)
[1] 537 9
> dim(test)
[1] 231 9
> #Entrenamos el modelo de ann
> modelo_diab=nnet(resultado~.,data=train,size=10)
# weights: 101
initial value 399.342269
iter 10 value 319.615793
iter 20 value 309.795305
iter 30 value 302.878696
iter 40 value 297.564701
iter 50 value 293.455696
iter 60 value 291.723220
iter 70 value 290.825828
iter 80 value 290.469341
iter 90 value 290.209533
iter 100 value 290.111312
final value 290.111312
stopped after 100 iterations
> set.seed(111)
> muestra=sample(537,231)
> #Train data
> train=diabetes2[-muestra,]
> #test data
> test=diabetes2[muestra,]
> modelo_diab=nnet(resultado~.,data=train,size=10)
# weights: 101
initial value 422.449962
iter 10 value 328.048880
iter 20 value 311.926975
iter 30 value 305.955559
iter 40 value 293.585299
iter 50 value 287.953449
iter 60 value 283.427410
iter 70 value 280.577332
iter 80 value 279.957154
iter 90 value 277.700753
iter 100 value 276.807445
final value 276.807445
stopped after 100 iterations
> fix(train)
> set.seed(222)
> modelo_diab=nnet(resultado~.,data=train,size=10)
# weights: 101
initial value 474.899720
iter 10 value 326.881269
iter 20 value 306.691995
iter 30 value 295.539724
iter 40 value 292.275705
iter 50 value 290.269971
iter 60 value 286.445148
iter 70 value 282.428371
iter 80 value 280.834971
iter 90 value 279.614345
iter 100 value 278.894030
final value 278.894030
stopped after 100 iterations
> ##Predecir basado en el modelo anterior
> predichos_diab=predict(modelo_diab,data=test,type="class")
> predichos_diab
[1] "Positivo" "Negativo" "Negativo" "Positivo" "Negativo" "Positivo" "
Negativo" "Positivo" "Positivo" "Negativo"
[11] "Negativo" "Negativo" "Negativo" "Positivo" "Negativo" "Negativo" "
Negativo" "Negativo" "Negativo" "Negativo"
[21] "Negativo" "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "
Positivo" "Negativo" "Negativo" "Negativo"
[31] "Negativo" "Negativo" "Positivo" "Positivo" "Negativo" "Positivo" "
Positivo" "Positivo" "Negativo" "Negativo"
[41] "Negativo" "Positivo" "Positivo" "Negativo" "Negativo" "Positivo" "
Negativo" "Negativo" "Negativo" "Negativo"
[51] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "
Negativo" "Negativo" "Negativo" "Negativo"
[61] "Negativo" "Positivo" "Negativo" "Negativo" "Positivo" "Negativo" "
Positivo" "Negativo" "Positivo" "Positivo"
[71] "Negativo" "Negativo" "Negativo" "Positivo" "Positivo" "Positivo" "
Negativo" "Negativo" "Negativo" "Negativo"
[81] "Negativo" "Positivo" "Negativo" "Positivo" "Negativo" "Negativo" "
Negativo" "Negativo" "Negativo" "Positivo"
[91] "Positivo" "Negativo" "Negativo" "Negativo" "Positivo" "Negativo" "
Negativo" "Negativo" "Negativo" "Negativo"
[101] "Positivo" "Negativo" "Positivo" "Negativo" "Negativo" "Positivo" "
Negativo" "Negativo" "Positivo" "Negativo"
[111] "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "Negativo" "
Negativo" "Negativo" "Positivo" "Positivo"
[121] "Positivo" "Positivo" "Positivo" "Negativo" "Negativo" "Positivo" "
Negativo" "Negativo" "Positivo" "Negativo"
[131] "Negativo" "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "
Negativo" "Positivo" "Positivo" "Negativo"
[141] "Negativo" "Positivo" "Negativo" "Negativo" "Positivo" "Positivo" "
Negativo" "Positivo" "Positivo" "Positivo"
[151] "Positivo" "Negativo" "Negativo" "Negativo" "Positivo" "Negativo" "
Positivo" "Negativo" "Negativo" "Negativo"
[161] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "
Negativo" "Negativo" "Positivo" "Positivo"
[171] "Negativo" "Negativo" "Negativo" "Positivo" "Negativo" "Negativo" "
Negativo" "Negativo" "Negativo" "Negativo"
[181] "Negativo" "Negativo" "Positivo" "Positivo" "Negativo" "Negativo" "
Negativo" "Positivo" "Positivo" "Negativo"
[191] "Positivo" "Negativo" "Negativo" "Positivo" "Positivo" "Positivo" "
Negativo" "Negativo" "Positivo" "Negativo"
[201] "Positivo" "Positivo" "Positivo" "Negativo" "Negativo" "Negativo" "
Negativo" "Positivo" "Negativo" "Negativo"
[211] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "
Positivo" "Positivo" "Negativo" "Positivo"
[221] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "
Negativo" "Negativo" "Negativo" "Negativo"
[231] "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "
Negativo" "Positivo" "Negativo" "Negativo"
[241] "Positivo" "Negativo" "Positivo" "Negativo" "Negativo" "Negativo" "
Positivo" "Negativo" "Positivo" "Positivo"
[251] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "
Negativo" "Negativo" "Negativo" "Negativo"
[261] "Negativo" "Negativo" "Negativo" "Positivo" "Negativo" "Positivo" "
Negativo" "Negativo" "Negativo" "Negativo"
[271] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "
Positivo" "Negativo" "Negativo" "Negativo"
[281] "Negativo" "Negativo" "Negativo" "Positivo" "Negativo" "Positivo" "
Negativo" "Negativo" "Negativo" "Negativo"
[291] "Negativo" "Negativo" "Negativo" "Positivo" "Negativo" "Negativo" "
Negativo" "Negativo" "Negativo" "Negativo"
[301] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "
Negativo" "Negativo" "Negativo" "Negativo"
[311] "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "Positivo" "
Negativo" "Negativo" "Negativo" "Negativo"
[321] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "
Negativo" "Negativo" "Negativo" "Positivo"
[331] "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "
Negativo" "Negativo" "Negativo" "Negativo"
[341] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "
Positivo" "Positivo" "Positivo" "Positivo"
[351] "Positivo" "Negativo" "Negativo" "Positivo" "Negativo" "Positivo" "
Negativo" "Positivo" "Positivo" "Negativo"
[361] "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "Negativo" "
Negativo" "Negativo" "Positivo" "Negativo"
[371] "Positivo" "Negativo" "Negativo" "Positivo" "Positivo" "Positivo" "
Negativo" "Negativo" "Negativo" "Negativo"
[381] "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "
Negativo" "Negativo" "Positivo" "Negativo"
[391] "Negativo" "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "
Negativo" "Negativo" "Negativo" "Positivo"
[401] "Negativo" "Positivo" "Negativo" "Negativo" "Positivo" "Negativo" "
Negativo" "Negativo" "Negativo" "Negativo"
[411] "Negativo" "Positivo" "Positivo" "Negativo" "Negativo" "Positivo" "
Positivo" "Negativo" "Negativo" "Negativo"
[421] "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "Negativo" "
Negativo" "Negativo" "Negativo" "Positivo"
[431] "Positivo" "Negativo" "Negativo" "Positivo" "Negativo" "Positivo" "
Positivo" "Negativo" "Positivo" "Positivo"
[441] "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "Positivo" "
Negativo" "Positivo" "Negativo" "Negativo"
[451] "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "
Positivo" "Negativo" "Negativo" "Negativo"
[461] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "
Positivo" "Negativo" "Negativo" "Negativo"
[471] "Negativo" "Positivo" "Positivo" "Negativo" "Negativo" "Positivo" "
Positivo" "Positivo" "Negativo" "Negativo"
[481] "Negativo" "Positivo" "Negativo" "Negativo" "Positivo" "Positivo" "
Negativo" "Negativo" "Negativo" "Negativo"
[491] "Negativo" "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "
Negativo" "Negativo" "Negativo" "Positivo"
[501] "Negativo" "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "
Negativo" "Negativo" "Negativo" "Negativo"
[511] "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "
Negativo" "Positivo" "Negativo" "Positivo"
[521] "Negativo" "Negativo" "Positivo" "Positivo" "Negativo" "Negativo" "
Negativo" "Negativo" "Positivo" "Negativo"
[531] "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "
Negativo"
> comparando=as.data.frame(cbind(test$resultado,predichos_diab))
Warning message:
In cbind(test$resultado, predichos_diab) :
number of rows of result is not a multiple of vector length (arg 1)
> fix(comparando)
> table(test$resultado,predichos_diab)
Error in table(test$resultado, predichos_diab) :
all arguments must have the same length
> table(test$resultado,predichos_diab)
Error in table(test$resultado, predichos_diab) :
all arguments must have the same length
> table(test$resultado,predichos_diab)
Error in table(test$resultado, predichos_diab) :
all arguments must have the same length
> table(test$resultado,predichos_diab)
Error in table(test$resultado, predichos_diab) :
all arguments must have the same length
> table(test$resultado,predichos_diab)
Error in table(test$resultado, predichos_diab) :
all arguments must have the same length
> table(test$resultado, predichos_diab)
Error in table(test$resultado, predichos_diab) :
all arguments must have the same length
> #Indicadores del modelo
> library(caret)
> str(predichos_diab)
chr [1:537] "Positivo" "Negativo" "Negativo" "Positivo" "Negativo" "Posi
tivo" "Negativo" "Positivo" "Positivo" "Negativo" "Negativo" "Negativo" "
Negativo" ...
> str(test$resultado)
Factor w/ 2 levels "Negativo","Positivo": 2 1 1 1 1 1 2 1 2 1 ...
> predichos_diab=as.factor(predichos_diab)
> indicadores_diab=confusionMatrix(predichos_diab, test$resultado)
Error in table(data, reference, dnn = dnn, ...) :
all arguments must have the same length
> table(test$resultado, predichos_diab)
Error in table(test$resultado, predichos_diab) :
all arguments must have the same length
> predichos_diab
[1] Positivo Negativo Negativo Positivo Negativo Positivo Negativo Posi
tivo Positivo Negativo Negativo Negativo Negativo Positivo Negativo Negat
ivo Negativo
[18] Negativo Negativo Negativo Negativo Positivo Negativo Negativo Nega
tivo Negativo Positivo Negativo Negativo Negativo Negativo Negativo Posit
ivo Positivo
[35] Negativo Positivo Positivo Positivo Negativo Negativo Negativo Posi
tivo Positivo Negativo Negativo Positivo Negativo Negativo Negativo Negat
ivo Negativo
[52] Negativo Negativo Negativo Negativo Negativo Negativo Negativo Nega
tivo Negativo Negativo Positivo Negativo Negativo Positivo Negativo Posit
ivo Negativo
[69] Positivo Positivo Negativo Negativo Negativo Positivo Positivo Posi
tivo Negativo Negativo Negativo Negativo Negativo Positivo Negativo Posit
ivo Negativo
[86] Negativo Negativo Negativo Negativo Positivo Positivo Negativo Nega
tivo Negativo Positivo Negativo Negativo Negativo Negativo Negativo Posit
ivo Negativo
[103] Positivo Negativo Negativo Positivo Negativo Negativo Positivo Nega
tivo Negativo Negativo Negativo Negativo Positivo Negativo Negativo Negat
ivo Positivo
[120] Positivo Positivo Positivo Positivo Negativo Negativo Positivo Nega
tivo Negativo Positivo Negativo Negativo Positivo Negativo Negativo Negat
ivo Negativo
[137] Negativo Positivo Positivo Negativo Negativo Positivo Negativo Nega
tivo Positivo Positivo Negativo Positivo Positivo Positivo Positivo Negat
ivo Negativo
[154] Negativo Positivo Negativo Positivo Negativo Negativo Negativo Nega
tivo Negativo Negativo Negativo Negativo Positivo Negativo Negativo Posit
ivo Positivo
[171] Negativo Negativo Negativo Positivo Negativo Negativo Negativo Nega
tivo Negativo Negativo Negativo Negativo Positivo Positivo Negativo Negat
ivo Negativo
[188] Positivo Positivo Negativo Positivo Negativo Negativo Positivo Posi
tivo Positivo Negativo Negativo Positivo Negativo Positivo Positivo Posit
ivo Negativo
[205] Negativo Negativo Negativo Positivo Negativo Negativo Negativo Nega
tivo Negativo Negativo Negativo Negativo Positivo Positivo Negativo Posit
ivo Negativo
[222] Negativo Negativo Negativo Negativo Positivo Negativo Negativo Nega
tivo Negativo Positivo Negativo Negativo Negativo Negativo Negativo Negat
ivo Positivo
[239] Negativo Negativo Positivo Negativo Positivo Negativo Negativo Nega
tivo Positivo Negativo Positivo Positivo Negativo Negativo Negativo Negat
ivo Negativo
[256] Negativo Negativo Negativo Negativo Negativo Negativo Negativo Nega
tivo Positivo Negativo Positivo Negativo Negativo Negativo Negativo Negat
ivo Negativo
[273] Negativo Negativo Negativo Negativo Positivo Negativo Negativo Nega
tivo Negativo Negativo Negativo Positivo Negativo Positivo Negativo Negat
ivo Negativo
[290] Negativo Negativo Negativo Negativo Positivo Negativo Negativo Nega
tivo Negativo Negativo Negativo Negativo Negativo Negativo Negativo Negat
ivo Negativo
[307] Negativo Negativo Negativo Negativo Negativo Negativo Negativo Nega
tivo Positivo Positivo Negativo Negativo Negativo Negativo Negativo Negat
ivo Negativo
[324] Negativo Negativo Negativo Negativo Negativo Negativo Positivo Posi
tivo Negativo Negativo Negativo Negativo Negativo Negativo Negativo Negat
ivo Negativo
[341] Negativo Negativo Negativo Negativo Negativo Negativo Positivo Posi
tivo Positivo Positivo Positivo Negativo Negativo Positivo Negativo Posit
ivo Negativo
[358] Positivo Positivo Negativo Negativo Negativo Negativo Negativo Posi
tivo Negativo Negativo Negativo Positivo Negativo Positivo Negativo Negat
ivo Positivo
[375] Positivo Positivo Negativo Negativo Negativo Negativo Positivo Nega
tivo Negativo Negativo Negativo Positivo Negativo Negativo Positivo Negat
ivo Negativo
[392] Positivo Negativo Negativo Negativo Negativo Negativo Negativo Nega
tivo Positivo Negativo Positivo Negativo Negativo Positivo Negativo Negat
ivo Negativo
[409] Negativo Negativo Negativo Positivo Positivo Negativo Negativo Posi
tivo Positivo Negativo Negativo Negativo Negativo Negativo Negativo Negat
ivo Positivo
[426] Negativo Negativo Negativo Negativo Positivo Positivo Negativo Nega
tivo Positivo Negativo Positivo Positivo Negativo Positivo Positivo Negat
ivo Negativo
[443] Negativo Negativo Positivo Positivo Negativo Positivo Negativo Nega
tivo Positivo Negativo Negativo Negativo Negativo Negativo Positivo Negat
ivo Negativo
[460] Negativo Negativo Negativo Negativo Negativo Negativo Positivo Posi
tivo Negativo Negativo Negativo Negativo Positivo Positivo Negativo Negat
ivo Positivo
[477] Positivo Positivo Negativo Negativo Negativo Positivo Negativo Nega
tivo Positivo Positivo Negativo Negativo Negativo Negativo Negativo Posit
ivo Negativo
[494] Negativo Negativo Negativo Negativo Negativo Negativo Positivo Nega
tivo Positivo Negativo Negativo Negativo Negativo Negativo Negativo Negat
ivo Negativo
[511] Positivo Negativo Negativo Negativo Negativo Negativo Negativo Posi
tivo Negativo Positivo Negativo Negativo Positivo Positivo Negativo Negat
ivo Negativo
[528] Negativo Positivo Negativo Positivo Negativo Negativo Negativo Nega
tivo Positivo Negativo
Levels: Negativo Positivo
> comparando=as.data.frame(cbind(test$resultado,predichos_diab))
Warning message:
In cbind(test$resultado, predichos_diab) :
number of rows of result is not a multiple of vector length (arg 1)
> View(comparando)
> predichos_diab
[1] Positivo Negativo Negativo Positivo Negativo Positivo Negativo Posi
tivo Positivo Negativo Negativo Negativo Negativo Positivo Negativo Negat
ivo Negativo
[18] Negativo Negativo Negativo Negativo Positivo Negativo Negativo Nega
tivo Negativo Positivo Negativo Negativo Negativo Negativo Negativo Posit
ivo Positivo
[35] Negativo Positivo Positivo Positivo Negativo Negativo Negativo Posi
tivo Positivo Negativo Negativo Positivo Negativo Negativo Negativo Negat
ivo Negativo
[52] Negativo Negativo Negativo Negativo Negativo Negativo Negativo Nega
tivo Negativo Negativo Positivo Negativo Negativo Positivo Negativo Posit
ivo Negativo
[69] Positivo Positivo Negativo Negativo Negativo Positivo Positivo Posi
tivo Negativo Negativo Negativo Negativo Negativo Positivo Negativo Posit
ivo Negativo
[86] Negativo Negativo Negativo Negativo Positivo Positivo Negativo Nega
tivo Negativo Positivo Negativo Negativo Negativo Negativo Negativo Posit
ivo Negativo
[103] Positivo Negativo Negativo Positivo Negativo Negativo Positivo Nega
tivo Negativo Negativo Negativo Negativo Positivo Negativo Negativo Negat
ivo Positivo
[120] Positivo Positivo Positivo Positivo Negativo Negativo Positivo Nega
tivo Negativo Positivo Negativo Negativo Positivo Negativo Negativo Negat
ivo Negativo
[137] Negativo Positivo Positivo Negativo Negativo Positivo Negativo Nega
tivo Positivo Positivo Negativo Positivo Positivo Positivo Positivo Negat
ivo Negativo
[154] Negativo Positivo Negativo Positivo Negativo Negativo Negativo Nega
tivo Negativo Negativo Negativo Negativo Positivo Negativo Negativo Posit
ivo Positivo
[171] Negativo Negativo Negativo Positivo Negativo Negativo Negativo Nega
tivo Negativo Negativo Negativo Negativo Positivo Positivo Negativo Negat
ivo Negativo
[188] Positivo Positivo Negativo Positivo Negativo Negativo Positivo Posi
tivo Positivo Negativo Negativo Positivo Negativo Positivo Positivo Posit
ivo Negativo
[205] Negativo Negativo Negativo Positivo Negativo Negativo Negativo Nega
tivo Negativo Negativo Negativo Negativo Positivo Positivo Negativo Posit
ivo Negativo
[222] Negativo Negativo Negativo Negativo Positivo Negativo Negativo Nega
tivo Negativo Positivo Negativo Negativo Negativo Negativo Negativo Negat
ivo Positivo
[239] Negativo Negativo Positivo Negativo Positivo Negativo Negativo Nega
tivo Positivo Negativo Positivo Positivo Negativo Negativo Negativo Negat
ivo Negativo
[256] Negativo Negativo Negativo Negativo Negativo Negativo Negativo Nega
tivo Positivo Negativo Positivo Negativo Negativo Negativo Negativo Negat
ivo Negativo
[273] Negativo Negativo Negativo Negativo Positivo Negativo Negativo Nega
tivo Negativo Negativo Negativo Positivo Negativo Positivo Negativo Negat
ivo Negativo
[290] Negativo Negativo Negativo Negativo Positivo Negativo Negativo Nega
tivo Negativo Negativo Negativo Negativo Negativo Negativo Negativo Negat
ivo Negativo
[307] Negativo Negativo Negativo Negativo Negativo Negativo Negativo Nega
tivo Positivo Positivo Negativo Negativo Negativo Negativo Negativo Negat
ivo Negativo
[324] Negativo Negativo Negativo Negativo Negativo Negativo Positivo Posi
tivo Negativo Negativo Negativo Negativo Negativo Negativo Negativo Negat
ivo Negativo
[341] Negativo Negativo Negativo Negativo Negativo Negativo Positivo Posi
tivo Positivo Positivo Positivo Negativo Negativo Positivo Negativo Posit
ivo Negativo
[358] Positivo Positivo Negativo Negativo Negativo Negativo Negativo Posi
tivo Negativo Negativo Negativo Positivo Negativo Positivo Negativo Negat
ivo Positivo
[375] Positivo Positivo Negativo Negativo Negativo Negativo Positivo Nega
tivo Negativo Negativo Negativo Positivo Negativo Negativo Positivo Negat
ivo Negativo
[392] Positivo Negativo Negativo Negativo Negativo Negativo Negativo Nega
tivo Positivo Negativo Positivo Negativo Negativo Positivo Negativo Negat
ivo Negativo
[409] Negativo Negativo Negativo Positivo Positivo Negativo Negativo Posi
tivo Positivo Negativo Negativo Negativo Negativo Negativo Negativo Negat
ivo Positivo
[426] Negativo Negativo Negativo Negativo Positivo Positivo Negativo Nega
tivo Positivo Negativo Positivo Positivo Negativo Positivo Positivo Negat
ivo Negativo
[443] Negativo Negativo Positivo Positivo Negativo Positivo Negativo Nega
tivo Positivo Negativo Negativo Negativo Negativo Negativo Positivo Negat
ivo Negativo
[460] Negativo Negativo Negativo Negativo Negativo Negativo Positivo Posi
tivo Negativo Negativo Negativo Negativo Positivo Positivo Negativo Negat
ivo Positivo
[477] Positivo Positivo Negativo Negativo Negativo Positivo Negativo Nega
tivo Positivo Positivo Negativo Negativo Negativo Negativo Negativo Posit
ivo Negativo
[494] Negativo Negativo Negativo Negativo Negativo Negativo Positivo Nega
tivo Positivo Negativo Negativo Negativo Negativo Negativo Negativo Negat
ivo Negativo
[511] Positivo Negativo Negativo Negativo Negativo Negativo Negativo Posi
tivo Negativo Positivo Negativo Negativo Positivo Positivo Negativo Negat
ivo Negativo
[528] Negativo Positivo Negativo Positivo Negativo Negativo Negativo Nega
tivo Positivo Negativo
Levels: Negativo Positivo
> modelo_diab=nnet(resultado~.,data=train,size=99)
# weights: 991
initial value 475.718238
iter 10 value 339.282682
iter 20 value 313.717985
iter 30 value 301.725068
iter 40 value 293.863601
iter 50 value 285.493592
iter 60 value 270.839294
iter 70 value 255.776910
iter 80 value 237.144603
iter 90 value 225.026804
iter 100 value 205.168602
final value 205.168602
stopped after 100 iterations
> ##Predecir basado en el modelo anterior
> predichos_diab=predict(modelo_diab,data=test,type="class")
> comparando=as.data.frame(cbind(test$resultado, predichos_diab))
Warning message:
In cbind(test$resultado, predichos_diab) :
number of rows of result is not a multiple of vector length (arg 1)
> table(test$resultado, predichos_diab)
Error in table(test$resultado, predichos_diab) :
all arguments must have the same length
> #Indicadores del modelo
> library(caret)
> ##Predecir basado en el modelo anterior
> predichos_diab=predict(modelo_diab,test,type="class")
> comparando=as.data.frame(cbind(test$resultado, predichos_diab))
> table(test$resultado, predichos_diab)
predichos_diab
Negativo Positivo
Negativo 112 38
Positivo 37 44
> #Indicadores del modelo
> library(caret)
> predichos_diab=as.factor(predichos_diab)
> indicadores_diab=confusionMatrix(predichos_diab, test$resultado)
> indicadores_diab
Confusion Matrix and Statistics
Reference
Prediction Negativo Positivo
Negativo 112 37
Positivo 38 44

Accuracy : 0.6753
95% CI : (0.6108, 0.7353)
No Information Rate : 0.6494
P-Value [Acc > NIR] : 0.225

Kappa : 0.2891

Mcnemar's Test P-Value : 1.000

Sensitivity : 0.7467
Specificity : 0.5432
Pos Pred Value : 0.7517
Neg Pred Value : 0.5366
Prevalence : 0.6494
Detection Rate : 0.4848
Detection Prevalence : 0.6450
Balanced Accuracy : 0.6449

'Positive' Class : Negativo

> fix(train)

Related Interests