Una red neural (ANN) modela la ralción entre un conjunto de entradas y una salida, resolviendo un problema de aprendizaje.
Algunos ejemplos de aplicación de ANN son:
#install.packages("neuralnet")
library(neuralnet)
examen<- c(20,10,30,20,80,30)
proyecto<- c(90,20,40,50,50,80)
estatus<- c(1,0,0,0,0,1)
df1<- data.frame(examen,proyecto,estatus)
head(df1)
## examen proyecto estatus
## 1 20 90 1
## 2 10 20 0
## 3 30 40 0
## 4 20 50 0
## 5 80 50 0
## 6 30 80 1
set.seed(123)
rn1<- neuralnet(estatus ~., data =df1)
plot(rn1, rep= "best")
prueba_examen<- c(30,40,85)
prueba_proyecto<- c(85,50,40)
prueba1<- data.frame(prueba_examen, prueba_proyecto)
prediccion1<- compute(rn1, prueba1)
prediccion1$net.result
## [,1]
## [1,] 1.04011743
## [2,] -0.02359178
## [3,] -0.02359178
probabilidad1<- prediccion1$net.result
resultado1<- ifelse(probabilidad1>0.5,1,0)
resultado1
## [,1]
## [1,] 1
## [2,] 0
## [3,] 0
#install.packages("neuralnet")
#library(neuralnet)
#file.choose()
df2 <- read.csv("C:\\Users\\LuisD\\Documents\\Concentración\\cancer.csv")
df2$diagnosis<- ifelse(df2$diagnosis=="M",1,0)
#summary(df2)
set.seed(123)
rn2<- neuralnet(diagnosis ~., data =df2)
plot(rn2, rep= "best")
prueba_cancer<- df2[18:22, ]
prueba_cancer$diagnosis<- NULL
prueba_cancer
## radius_mean texture_mean perimeter_mean area_mean smoothness_mean
## 18 16.130 20.68 108.10 798.8 0.11700
## 19 19.810 22.15 130.00 1260.0 0.09831
## 20 13.540 14.36 87.46 566.3 0.09779
## 21 13.080 15.71 85.63 520.0 0.10750
## 22 9.504 12.44 60.34 273.9 0.10240
## compactness_mean concavity_mean concave.points_mean symmetry_mean
## 18 0.20220 0.17220 0.10280 0.2164
## 19 0.10270 0.14790 0.09498 0.1582
## 20 0.08129 0.06664 0.04781 0.1885
## 21 0.12700 0.04568 0.03110 0.1967
## 22 0.06492 0.02956 0.02076 0.1815
## fractal_dimension_mean radius_se texture_se perimeter_se area_se
## 18 0.07356 0.5692 1.0730 3.854 54.18
## 19 0.05395 0.7582 1.0170 5.865 112.40
## 20 0.05766 0.2699 0.7886 2.058 23.56
## 21 0.06811 0.1852 0.7477 1.383 14.67
## 22 0.06905 0.2773 0.9768 1.909 15.70
## smoothness_se compactness_se concavity_se concave.points_se symmetry_se
## 18 0.007026 0.02501 0.03188 0.01297 0.01689
## 19 0.006494 0.01893 0.03391 0.01521 0.01356
## 20 0.008462 0.01460 0.02387 0.01315 0.01980
## 21 0.004097 0.01898 0.01698 0.00649 0.01678
## 22 0.009606 0.01432 0.01985 0.01421 0.02027
## fractal_dimension_se radius_worst texture_worst perimeter_worst area_worst
## 18 0.004142 20.96 31.48 136.80 1315.0
## 19 0.001997 27.32 30.88 186.80 2398.0
## 20 0.002300 15.11 19.26 99.70 711.2
## 21 0.002425 14.50 20.49 96.09 630.5
## 22 0.002968 10.23 15.66 65.13 314.9
## smoothness_worst compactness_worst concavity_worst concave.points_worst
## 18 0.1789 0.4233 0.47840 0.20730
## 19 0.1512 0.3150 0.53720 0.23880
## 20 0.1440 0.1773 0.23900 0.12880
## 21 0.1312 0.2776 0.18900 0.07283
## 22 0.1324 0.1148 0.08867 0.06227
## symmetry_worst fractal_dimension_worst
## 18 0.3706 0.11420
## 19 0.2768 0.07615
## 20 0.2977 0.07259
## 21 0.3184 0.08183
## 22 0.2450 0.07773
prediccion2<- compute(rn2, prueba_cancer)
prediccion2$net.result
## [,1]
## 18 0.3725802
## 19 0.3725802
## 20 0.3725802
## 21 0.3725802
## 22 0.3725802
probabilidad2<- prediccion2$net.result
probabilidad2
## [,1]
## 18 0.3725802
## 19 0.3725802
## 20 0.3725802
## 21 0.3725802
## 22 0.3725802
resultado2<- ifelse(probabilidad2>0.5,1,0)
resultado2
## [,1]
## 18 0
## 19 0
## 20 0
## 21 0
## 22 0