Documente Academic
Documente Profesional
Documente Cultură
Explicatia parametrilor:
lifesign="minimal" inseamna „comentarii minime”.
"none" inseamna nici un comentariu
"full" inseamna comentarii complete.
linear.output=FALSE inseamna ca functia de activare nu este liniara.
threshold = 0.1=valoarea pragului de activare
hidden=nr. de neuroni ascunsi
>plot(creditnet, rep = "best") Este vizualizata reteaua, sunt afisate
nr. de pasi,eroarea si ponderile.
Optiunea rep="best" poate lipsi. Daca este precizata, se va afisa
reteaua cu cea mai mica eroare.
1
1 1
-1
.12
96
2
1.2
89
55
-3 .1
.79
4
54
0
LTI
045
-0 .9
4 93
6
6445 .33
-3 .91
.99 752
-8 5
54
.0 4
784
063
-1 1.2 7
817 default10yr
811
.21
10 14
65
9
61
00..075
0 57
age 0.16
-4 .61 17
-0
.02
99
7
94
3
1.3
1
-1
2
903 1 0.9999999999219191249011373656685464084148
904 0 0.0000000000000000013810778585990655628959
905 0 0.0000000000000000539636283549268839978413
906 0 0.0000000000000000000234592312583964807452
907 1 0.9581419934268182725389806364546529948711
908 0 0.2499229633059938393557786184828728437424
909 0 0.0000000000000007044361454974903653282470
910 0 0.0006082559674722681341413332845036165963
911 1 0.9999999878713862200285689141310285776854
912 0 0.0000000000000000000000000015562211243506
913 1 0.9999999993455563895849991240538656711578
914 0 0.0000000000000000000000000000003082538282
915 0 0.0000000019359618836434052080615331181690
>library("neuralnet")
>traininginput <- as.data.frame(runif(50, min=0, max=100)) Sunt
generate 50 de numere uniform distribuite intre 0 si 100.
>traininginput
>trainingoutput <- sqrt(traininginput) Se creeaza setul de tinte(=iesiri dorite,
date), ca fiind radical din datele de intrare din setul de antrenare.
>trainingoutput
> trainingdata <- cbind(traininginput,trainingoutput) Sunt create
datele de antrenare(intrari + tinte) intr-o singura variabila(=matrice
cu 2 coloane)
> trainingdata
3
> colnames(trainingdata) <- c("Input","Output") Sunt denumite cele 2
coloane cu "Input","Output".
> colnames(trainingdata)
Se antreneaza reteaua numita „retea”. Aceasta retea este recurenta, de
tip „back-propagation”.
> retea<- neuralnet(Output ~ Input, trainingdata, hidden=10,
threshold=0.01)
(hidden=10=nr. de neuroni ascunsi , threshold=0.01=pragul de activare)
> print(retea) Sunt afisati nr. de pasi, eroarea si pragul de activare.
>plot(retea) Este desenata reteaua si ponderile. Cu albastru este reprezentat
biasul.
1.04
1 4
0.
31 - 35 1
6 4 2 .0
-1 .
7
57
178 422 6 .35
8 0 -0 .21
16
2.
8
499 -0 .54 92 0.329 -2 .54
1
51
4
2.5
56
1.895
0 2884
72
033815
7
00-.0.0.10
39
7
-3 .78
0-.00.26 503 262
36
Input Output
00..0034 25 66
28 1.130
1-1401.0.2
97
.0 25639
5
28
65
3.7
13
79
.0
-0
24
211 .93 2
-0 .
65 -1
4
[,1]
[1,] 1.111492212
[2,] 1.980752951
[3,] 3.008012307
[4,] 3.995786521
[5,] 5.001154643
[6,] 6.006484772
[7,] 6.996216467
[8,] 7.994651956
[9,] 9.005557297
[10,] 9.982025137
5
> set.seed(101)
> size.sample <- 50
> iristrain <- iris[sample(1:nrow(iris), size.sample),] Se construieste un set de
antrenament prin extragerea unui esantion aleator de marime size.sample (=50) din
setul de date iris.
>iristrain
> nnet_iristrain <- cbind(iristrain, iristrain$Species == 'setosa') La setul de
antrenare iristrain se adauga o coloana ale carei elemente sunt valorile „TRUE”
cand observatia este din specia „setosa” sau „FALSE” in caz contrar.
>nnet_iristrain
>nnet_iristrain <- cbind(nnet_iristrain, iristrain$Species == 'versicolor') La
setul de antrenare nnet_iristrain se adauga o coloana ale carei elemente sunt
valorile „TRUE” cand observatia este din specia „versicolor” sau „FALSE” in caz
contrar.
>nnet_iristrain
>nnet_iristrain <- cbind(nnet_iristrain, iristrain$Species == 'virginica') La setul
de antrenare nnet_iristrain se adauga o coloana ale carei elemente sunt valorile
„TRUE” cand observatia este din specia „virginica” sau „FALSE” in caz contrar.
>nnet_iristrain
>names(nnet_iristrain)[6] <- 'setosa'
>names(nnet_iristrain)[7] <- 'versicolor'
>names(nnet_iristrain)[8] <- 'virginica'
Coloanele 6, 7, 8 ale setului nnet_iristrain se vor numi 'setosa', 'versicolor'
si 'virginica'.
6
1 1 1
3.9
8.1
1.0
93
37
00
Sepal.Length
39
33
0.927
4
--00 .12 8
0.53351 -0.0001 setosa
.80 796
27
--02 7.9
2-.2 .68 9
68 73
.01 278
2
88
33 1
18
4
041
2.
-5 .66
-0 .14
-2 .66
Sepal.Width
63
-0 .
7
70
53
67
608
444
847
527
6.4
5.5
.16
61
-2
-2
versicolor
03
0.0047 2.13706
2
61
2.
0.
43
74
90
02
-0 .
04
37
98
1 . 4
Petal.Length
5
-2
.44
3.556 4
2.669 1
-8 .83 45
45
.63 44
67 87
6
5
7
--83 .94 1
05
10..006
96
87 3
3
.1.977 89
4
949
Petal.Width -6 .16
Vreau sa fac o predictie asupra speciei, deci elimin intai coloana a 5-a din setul
iris :
7
>prediction
>table(prediction, iris$Species) Se afiseaza matricea de confuzie:
prediction setosa versicolor virginica
setosa 50 0 0
versicolor 0 48 0
virginica 0 2 50
>library(e1071)
> tab<-table(prediction, iris$Species)
> classAgreement(tab)
$diag
[1] 0.9866666667
$kappa
[1] 0.98
$rand
[1] 0.9824608501
$crand
[1] 0.9602776916