Documente Academic
Documente Profesional
Documente Cultură
Proiect la INTELIGENȚĂ
COMPUTAȚIONALĂ
Realizat de
Grupa 1061
Seria Cibernetică
An universitar 2016-2017
Cuprins
2
Experiment asupra farmacocineticii
Teofilinei
Tabela Theoph conține 132 de rânduri și 5 coloane de date corespunzătoare unui experiment asupra
farmacocineticii teofilinei.1 Aceasta conține următoarele coloane:
- Subject: tip factor ce poate avea nivelele 1, 2, 3, ... , 12 ce corespund subiecților pe care s-a
facut experimentul. Ordonarea se face prin creșterea concentrației maxime de teofilină
observate;
- Wt: tip numeric (kg) ce exprimă greutatea subiectului pe care s-a facut experimentul;
- Dose: tip numeric - doza de teofilină administrată oral subiecților (mg/kg);
- Time: tip numeric - timpul de la administrarea medicamentului pana la extragerea
eșantionului (ore)
- Conc: tip numeric - concentrația teofilinei din eșantion (mg/L)
> names(Theoph)
[1] "Subject" "Wt" "Dose" "Time" "conc"
> str(Theoph)
132 obs. of 5 variables:
$ Subject: Ord.factor w/ 12 levels "6"<"7"<"8"<"11"<..: 11 11 11 11 11 ...
$ Wt : num 79.6 79.6 79.6 79.6 79.6 79.6 79.6 79.6 79.6 79.6 ...
$ Dose : num 4.02 4.02 4.02 4.02 4.02 4.02 4.02 4.02 4.02 4.02 ...
$ Time : num 0 0.25 0.57 1.12 2.02 ...
$ conc : num 0.74 2.84 6.57 10.5 9.66 8.58 8.36 7.47 6.89 5.94 ...
> attributes(Theoph)
$names
[1] "Subject" "Wt" "Dose" "Time" "conc"
$row.names
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13
[14] 14 15 16 17 18 19 20 21 22 23 24 25 26
[27] 27 28 29 30 31 32 33 34 35 36 37 38 39
[40] 40 41 42 43 44 45 46 47 48 49 50 51 52
[53] 53 54 55 56 57 58 59 60 61 62 63 64 65
[66] 66 67 68 69 70 71 72 73 74 75 76 77 78
[79] 79 80 81 82 83 84 85 86 87 88 89 90 91
[92] 92 93 94 95 96 97 98 99 100 101 102 103 104
[105] 105 106 107 108 109 110 111 112 113 114 115 116 117
[118] 118 119 120 121 122 123 124 125 126 127 128 129 130
[131] 131 132
> head(Theoph)
Subject Wt Dose Time conc
1 1 79.6 4.02 0.00 0.74
2 1 79.6 4.02 0.25 2.84
3 1 79.6 4.02 0.57 6.57
4 1 79.6 4.02 1.12 10.50
5 1 79.6 4.02 2.02 9.66
6 1 79.6 4.02 3.82 8.58
1
Farmacoconetic = ramură a farmacologiei care studiază fenomenele ce intervin în procesele de absorbție,
distribuție, transformare și eliminare a medicamentelor din organism.
3
Statistici descriptive:
Subject
> pie(table(Theoph$Subject))
- Din graficul anterior se observă că numărul de observații din fiecare categorie (nivel) sunt
aproximativ egale.
Wt
> quantile(Theoph$Wt,na.rm = TRUE)
0% 25% 50% 75% 100%
54.600 63.575 70.500 74.425 86.400
> summary(Theoph$Wt)
Min. 1st Qu. Median Mean 3rd Qu. Max.
54.60 63.58 70.50 69.58 74.43 86.40
Greutatea minimă întregistrată este de 54,6 kg, iar cea maximă de 86,4 kg.
Primele 25% de observații au greutăți mai mici decât 63,58, pe când 50% dintre acestea au
greutatea sub 70,5 kg, iar 25% au greutatea mai mare de 74,43 kg.
Valoarea medie calculată este de 69,58.
> hist(Theoph$Wt)
Frecvența cea mai mare (peste 40 de observații) se află în intervalul 70-75 (kg), iar
histograma este asimetrică spre stânga.
4
> pie(table(Theoph$Wt))
Diagrama de mai sus confirmă faptul ca frecvența maximă o are greutatea de 70,5 kg.
> plot(Theoph$Wt)
Dose
> quantile(Theoph$Dose,na.rm = TRUE)
0% 25% 50% 75% 100%
3.1000 4.3050 4.5300 5.0375 5.8600
> summary(Theoph$Dose)
Min. 1st Qu. Median Mean 3rd Qu.
3.100 4.305 4.530 4.626 5.038
Max.
5.860
Doza minimă administrată este de 3,1 mg/kg, iar cea maximă de 5,860 mg/kg, în timp ce me
dia vaorilor înregistrate este de 4,53.
25% dintre observații au doza mai mică decât 4,305 mg/kg, 50% au doza mai mică de 4,53, ia
r 25% dintre observații au valori de peste 5,038.
5
> hist(Theoph$Dose)
Din histogramă se observă că cele mai multe doze au valori cuprinse între 4,5 – 5 mg/mg.
> plot(Theoph$Dose)
> pie(table(Theoph$Dose))
Din piechart-ul anterior se observă că cele mai multe doze au valori de aproximativ 4,4 și 4,53 mg/kg.
Time
> quantile(Theoph$Time,na.rm = TRUE)
0% 25% 50% 75% 100%
0.000 0.595 3.530 9.000 24.650
> summary(Theoph$Time)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.000 0.595 3.530 5.895 9.000 24.650
Timpul minim de la administrarea dozei pana la extragerea eșationului a fost de 0 h, iar timp
ul maxim de 24,65 ore.
6
25% dintre probe au fost exstrase la mai puțin de 0,595 ore de la adrministrarea teofilinei, 50
% la mai puțin de 3,530 ore, iar 25% dintre acestea s-au extras dupa aproximativ 9 ore.
> hist(Theoph$Time)
Din histogramă se observa că cele mai multe probe s-au extras la un timp mai scurt de 1 oră de la
administrarea teofilinei.
> plot(Theoph$Time)
Plotul de mai sus scoate foarte bine în evidență faptul că probele s-au extras respectându-se o rutină,
acestea fiind extrase la intervale de timp din ce în ce mai mari.
Conc
> quantile(Theoph$conc,na.rm = TRUE)
0% 25% 50% 75% 100%
0.0000 2.8775 5.2750 7.1400 11.4000
> summary(Theoph$conc)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.000 2.878 5.275 4.960 7.140 11.400
Concentrația minimă de teofilină din probele extrase este de 0 mg/L, iar cea maximă este de
11,4, în timp ce media este de 4,96.
25% dintre probe au o concentrație mai mică decât 2,878, 50% dintre aceste o concentrație
mai mică de 5,275 mg/L, în timp ce 25% dintre observații au o valoare a concentrației de
teofilină mai mare decât 7,140.
7
> hist(Theoph$conc)
Din histogramă reiese că frecvența maximă se află în intervalul 5-8, iar după această perioadă,
concentrația de teofilină din probele exstrase scade considerabil.
> plot(Theoph$conc)
Varianța
> var(Theoph$Wt, na.rm = TRUE)
[1] 83.41499
> var(Theoph$Dose, na.rm = TRUE)
[1] 0.5156306
> var(Theoph$Time, na.rm = TRUE)
[1] 47.96882
> var(Theoph$conc, na.rm = TRUE)
[1] 8.22152
Corelație
> cor(Theoph[2:5])
Wt Dose Time conc
Wt 1.0000000000 -0.9896217523 0.0004157549 -0.07177823
Dose -0.9896217523 1.0000000000 -0.0000997045 0.07697420
Time 0.0004157549 -0.0000997045 1.0000000000 -0.30360075
conc -0.0717782261 0.0769741957 -0.3036007533 1.00000000
Covarianța
> cov(Theoph[2:5])
Wt Dose Time conc
Wt 83.41498728 -6.4902379135 0.0262989822 -1.8797099
Dose -6.49023791 0.5156305980 -0.0004958651 0.1584859
Time 0.02629898 -0.0004958651 47.9688158860 -6.0291823
conc -1.87970992 0.1584858779 -6.0291822693 8.2215204
Recursivitate
> summary(lm(Theoph$conc~Theoph$Wt+Theoph$Dose+Theoph$Time))
Call:
lm(formula = Theoph$conc ~ Theoph$Wt + Theoph$Dose + Theoph$Time)
Residuals:
Min 1Q Median 3Q Max
-6.1183 -1.4233 0.3836 1.9134 5.4074
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.45137 23.47941 -0.190 0.849934
Theoph$Wt 0.06832 0.18329 0.373 0.709971
Theoph$Dose 1.16716 2.33131 0.501 0.617481
Theoph$Time -0.12572 0.03473 -3.620 0.000424 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Deoarece variabilele Wt(greutatea subiectului), Dose(doza administrată) au valori cu mult mai mari
decât 5%, modelul nu este valid, deși p-value are valoarea de 0,0038. Acest lucru este confirmat și de
Multiple R-squared care exprimă faptul ca variabilele modifică modelul în proporție de 9,9%.
> eigen(s)
$values
[1] 83.9678871509 48.8606338273 7.2818708168 0.0105623688
$vectors
[,1] [,2] [,3] [,4]
[1,] 0.996654522934 0.0085898648698 0.0243480347094 -0.0775444991132
[2,] -0.077559743187 -0.0006632409287 -0.0002023818832 -0.9969874650113
[3,] 0.004964828374 -0.9891944534510 0.1465251689603 0.0002420786651
9
[4,] -0.025290287292 0.1463560985907 0.9889072287675 0.0016693308431
Standard deviations:
Comp.1 Comp.2 Comp.3 Comp.4
9.1286234884 6.9635104301 2.6882531742 0.1023833524
> loadings(pca)
Loadings:
Comp.1 Comp.2 Comp.3 Comp.4
Wt 0.997
Dose -0.997
Time -0.989 0.147
conc 0.146 0.989
Se observă din matricea de mai sus, că valoarea cea mai mare este înregistrată de prima
componentă. Pentru a decide câte componente principale se vor lua în considerare, se analizează
graficul următor. Numărul de componente principale este determinat de punctul în care panta
graficului se aplatizează brusc.
Importance of components:
Comp.1 Comp.2 Comp.3 Com
p.4
Standard deviation 9.128623488 6.9635104301 2.68825317423 0.10238335242
Proportion of Variance 0.599252893 0.3487032623 0.05196846439 0.00007538036
Cumulative Proportion 0.599252893 0.9479561552 0.99992461963 1.00000000000
10
Clasificatorul naiv Bayesian: punerea problemei, predicții, matricea de confuzie
Teorema lui Bayes este una dintre teoremele fundamentale ale teoriei probabilităţiilor, care
determină probabilitatea apartenenţei evenimentelor şi a obiectelor la o anumită grupă.
>data(Theoph)
>View(Theoph)
#e1071 – pachetul pentru naiveBayes
>library(e1071)
>library(class)
>model<-naiveBayes(x = Theoph[, 2:5], y = Theoph[, 1])
Call:
naiveBayes.default(x = Theoph[, 2:5], y = Theoph[, 1])
A-priori probabilities:
Theoph[, 1]
6 7 8 11 3
0.08333333 0.08333333 0.08333333 0.08333333 0.08333333
2 4 9 12 10
0.08333333 0.08333333 0.08333333 0.08333333 0.08333333
1 5
0.08333333 0.08333333
Conditional probabilities:
Wt
Theoph[, 1] [,1] [,2]
6 80.0 0
7 64.6 0
8 70.5 0
11 65.0 0
3 70.5 0
2 72.4 0
4 72.7 0
9 86.4 0
12 60.5 0
10 58.2 0
1 79.6 0
5 54.6 0
Dose
Theoph[, 1] [,1] [,2]
6 4.00 0
7 4.95 0
8 4.53 0
11 4.92 0
3 4.53 0
2 4.40 0
4 4.40 0
9 3.10 0
12 5.30 0
10 5.50 0
1 4.02 0
5 5.86 0
Time
Theoph[, 1] [,1] [,2]
6 5.888182 7.151650
7 5.865455 7.250075
8 5.890000 7.233919
11 5.871818 7.223542
3 5.907273 7.234519
2 5.869091 7.269680
11
4 5.940000 7.329930
9 5.868182 7.244127
12 5.876364 7.235402
10 5.915455 7.108937
1 5.950000 7.273320
5 5.893636 7.278871
conc
Theoph[, 1] [,1] [,2]
6 3.525455 2.180382
7 3.910909 2.485130
8 4.271818 2.455296
11 4.510909 2.552839
3 5.086364 2.684222
2 4.823636 3.027389
4 4.940000 2.921623
9 4.893636 2.716175
12 5.410000 3.499246
10 5.930909 3.050539
1 6.439091 3.034533
5 5.782727 3.537344
Y – vector clasă
X – matrice numerică ce conține datele analizate
[,1] – media
[,1] – deviația standard
Predicție
Se dorește stabilirea subiecților pentru primele 50 de experimente folosind Clasificatorul Naiv
Bayesian.
> predict(model,Theoph[1:50,])
> table(Theoph[,1],predict(model,Theoph[,-1]))
6 7 8 11 3 2 4 9 12 10 1 5
6 11 0 0 0 0 0 0 0 0 0 0 0
7 0 11 0 0 0 0 0 0 0 0 0 0
8 0 0 7 0 4 0 0 0 0 0 0 0
11 0 0 0 11 0 0 0 0 0 0 0 0
3 0 0 6 0 5 0 0 0 0 0 0 0
2 0 0 0 0 0 11 0 0 0 0 0 0
4 0 0 0 0 0 0 11 0 0 0 0 0
9 0 0 0 0 0 0 0 11 0 0 0 0
12 0 0 0 0 0 0 0 0 11 0 0 0
10 0 0 0 0 0 0 0 0 0 11 0 0
1 0 0 0 0 0 0 0 0 0 0 11 0
5 0 0 0 0 0 0 0 0 0 0 0 11
> classAgreement(table(Theoph[,1],predict(model,Theoph[,-1])))
$diag
[1] 0.9242424
$kappa
[1] 0.9173554
12
$rand
[1] 0.9861207
$crand
[1] 0.9018506
Deoarece coeficientul kappa a lui Cohen are valoarea 0,917 > 0 și este foarte apropiată de valoarea 1,
înseamnă că predicția făcută prezintă un grad foarte ridicat de încredere.
Arbore decizional:
Pentru construirea arborelui decizional se extrag două eșantioane din setul de date Theoph ce
conțin 60% și respectiv 40% din numărul total de observații. Se alege tipul de extragere cu
revenire pentru ca observațiile să aibă șanse egale de a fi extrase.
> setantrenare<-Theoph[ind==1,]
> setantrenare
Subject Wt Dose Time conc
1 1 79.6 4.02 0.00 0.74
3 1 79.6 4.02 0.57 6.57
4 1 79.6 4.02 1.12 10.50
6 1 79.6 4.02 3.82 8.58
8 1 79.6 4.02 7.03 7.47
12 2 72.4 4.40 0.00 0.00
13 2 72.4 4.40 0.27 1.72
14 2 72.4 4.40 0.52 7.91
18 2 72.4 4.40 5.02 6.08
19 2 72.4 4.40 7.03 5.40
21 2 72.4 4.40 12.00 3.01
22 2 72.4 4.40 24.30 0.90
26 3 70.5 4.53 1.02 8.20
27 3 70.5 4.53 2.02 7.80
28 3 70.5 4.53 3.62 7.50
29 3 70.5 4.53 5.08 6.20
30 3 70.5 4.53 7.07 5.30
31 3 70.5 4.53 9.00 4.90
32 3 70.5 4.53 12.15 3.70
33 3 70.5 4.53 24.17 1.05
34 4 72.7 4.40 0.00 0.00
35 4 72.7 4.40 0.35 1.89
36 4 72.7 4.40 0.60 4.60
38 4 72.7 4.40 2.13 8.38
39 4 72.7 4.40 3.50 7.54
40 4 72.7 4.40 5.02 6.88
42 4 72.7 4.40 9.02 5.33
43 4 72.7 4.40 11.98 4.19
44 4 72.7 4.40 24.65 1.15
48 5 54.6 5.86 1.00 11.40
49 5 54.6 5.86 2.02 9.33
50 5 54.6 5.86 3.50 8.74
53 5 54.6 5.86 9.10 5.90
13
55 5 54.6 5.86 24.35 1.57
57 6 80.0 4.00 0.27 1.29
60 6 80.0 4.00 2.03 6.32
61 6 80.0 4.00 3.57 5.53
62 6 80.0 4.00 5.00 4.94
66 6 80.0 4.00 23.85 0.92
67 7 64.6 4.95 0.00 0.15
69 7 64.6 4.95 0.50 2.35
70 7 64.6 4.95 1.02 5.02
71 7 64.6 4.95 2.02 6.58
72 7 64.6 4.95 3.48 7.09
75 7 64.6 4.95 9.00 4.39
76 7 64.6 4.95 12.05 3.53
77 7 64.6 4.95 24.22 1.15
79 8 70.5 4.53 0.25 3.05
80 8 70.5 4.53 0.52 3.05
81 8 70.5 4.53 0.98 7.31
84 8 70.5 4.53 5.05 5.88
85 8 70.5 4.53 7.15 4.73
86 8 70.5 4.53 9.07 4.57
87 8 70.5 4.53 12.10 3.00
88 8 70.5 4.53 24.12 1.25
92 9 86.4 3.10 1.05 7.14
93 9 86.4 3.10 2.02 6.33
94 9 86.4 3.10 3.53 5.66
97 9 86.4 3.10 8.80 4.11
100 10 58.2 5.50 0.00 0.24
104 10 58.2 5.50 2.05 7.83
105 10 58.2 5.50 3.55 10.21
106 10 58.2 5.50 5.05 9.18
107 10 58.2 5.50 7.08 8.02
108 10 58.2 5.50 9.38 7.14
109 10 58.2 5.50 12.10 5.68
110 10 58.2 5.50 23.70 2.42
111 11 65.0 4.92 0.00 0.00
113 11 65.0 4.92 0.50 7.24
114 11 65.0 4.92 0.98 8.00
115 11 65.0 4.92 1.98 6.81
116 11 65.0 4.92 3.60 5.87
120 11 65.0 4.92 12.12 2.69
121 11 65.0 4.92 24.08 0.86
122 12 60.5 5.30 0.00 0.00
123 12 60.5 5.30 0.25 1.25
125 12 60.5 5.30 1.00 7.82
127 12 60.5 5.30 3.52 9.75
129 12 60.5 5.30 7.07 6.59
130 12 60.5 5.30 9.03 6.11
132 12 60.5 5.30 24.15 1.17
> settestare<-Theoph[ind==2,]
> settestare
Subject Wt Dose Time conc
2 1 79.6 4.02 0.25 2.84
5 1 79.6 4.02 2.02 9.66
7 1 79.6 4.02 5.10 8.36
9 1 79.6 4.02 9.05 6.89
10 1 79.6 4.02 12.12 5.94
11 1 79.6 4.02 24.37 3.28
15 2 72.4 4.40 1.00 8.31
16 2 72.4 4.40 1.92 8.33
17 2 72.4 4.40 3.50 6.85
20 2 72.4 4.40 9.00 4.55
23 3 70.5 4.53 0.00 0.00
14
24 3 70.5 4.53 0.27 4.40
25 3 70.5 4.53 0.58 6.90
37 4 72.7 4.40 1.07 8.60
41 4 72.7 4.40 7.02 5.78
45 5 54.6 5.86 0.00 0.00
46 5 54.6 5.86 0.30 2.02
47 5 54.6 5.86 0.52 5.63
51 5 54.6 5.86 5.02 7.56
52 5 54.6 5.86 7.02 7.09
54 5 54.6 5.86 12.00 4.37
56 6 80.0 4.00 0.00 0.00
58 6 80.0 4.00 0.58 3.08
59 6 80.0 4.00 1.15 6.44
63 6 80.0 4.00 7.00 4.02
64 6 80.0 4.00 9.22 3.46
65 6 80.0 4.00 12.10 2.78
68 7 64.6 4.95 0.25 0.85
73 7 64.6 4.95 5.00 6.66
74 7 64.6 4.95 6.98 5.25
78 8 70.5 4.53 0.00 0.00
82 8 70.5 4.53 2.02 7.56
83 8 70.5 4.53 3.53 6.59
89 9 86.4 3.10 0.00 0.00
90 9 86.4 3.10 0.30 7.37
91 9 86.4 3.10 0.63 9.03
95 9 86.4 3.10 5.02 5.67
96 9 86.4 3.10 7.17 4.24
98 9 86.4 3.10 11.60 3.16
99 9 86.4 3.10 24.43 1.12
101 10 58.2 5.50 0.37 2.89
102 10 58.2 5.50 0.77 5.22
103 10 58.2 5.50 1.02 6.41
112 11 65.0 4.92 0.25 4.86
117 11 65.0 4.92 5.02 5.22
118 11 65.0 4.92 7.03 4.45
119 11 65.0 4.92 9.03 3.62
124 12 60.5 5.30 0.50 3.96
126 12 60.5 5.30 2.00 9.72
128 12 60.5 5.30 5.07 8.57
131 12 60.5 5.30 12.05 4.57
> dependenta<-conc~Wt+Dose+Time
Response: conc
Inputs: Wt, Dose, Time
Number of observations: 81
Pentru construirea arborelui au fost luate în considerare 66 de observații, iar acesta conține 3 noduri
terminale.
o Pentru Time <= 0,35 se obține nodul 2 ce conține 12 observații cu media
concentrației (variabila conc) de 0,861.
o Pentru Time > 0,35 dar <= 9,38
Dose <= 4,95 se obține nodul 5 cu 39 de observații și concentrația de 6,258
Dose > 4,95 se obține nodul 6 cu 13 observații si concentrația de 8,309
o Pentru Time <= 9,38 se obține nodul 7 cu 17 observații și o concentrație de 2,249
o Pentru Time > 9,38 se obține nodul 5 cu 9 observații și o concentrație medie de
1,866.
> matriceconfuzie<-table(setantrenare$conc,predict(arboredec))
> matriceconfuzie
1.155 1.86555555555556 6.43489361702128
0 5 0 0
0.15 1 0 0
0.85 1 0 0
0.86 0 1 0
0.92 0 1 0
1.05 0 1 0
1.15 0 1 0
1.25 0 1 0
1.29 1 0 0
1.57 0 1 0
1.89 0 0 1
2.35 0 0 1
2.89 0 0 1
3.01 0 1 0
3.08 0 0 1
3.28 0 1 0
3.62 0 0 1
3.7 0 1 0
4.11 0 0 1
4.4 1 0 0
16
4.73 0 0 1
4.86 1 0 0
4.9 0 0 1
5.22 0 0 1
5.25 0 0 1
5.33 0 0 1
5.4 0 0 1
5.53 0 0 1
5.63 0 0 1
5.66 0 0 1
5.67 0 0 1
5.87 0 0 1
5.88 0 0 1
5.9 0 0 1
6.08 0 0 1
6.11 0 0 1
6.2 0 0 1
6.41 0 0 1
6.57 0 0 1
6.58 0 0 1
6.81 0 0 1
6.89 0 0 1
6.9 0 0 1
7.09 0 0 1
7.14 0 0 2
7.24 0 0 1
7.37 0 0 1
7.5 0 0 1
7.54 0 0 1
7.56 0 0 1
7.8 0 0 1
7.82 0 0 1
7.83 0 0 1
7.91 0 0 1
8 0 0 1
8.33 0 0 1
8.74 0 0 1
9.03 0 0 1
9.33 0 0 1
10.21 0 0 1
11.4 0 0 1
Pentru a verifica fidelitatea datelor obținute se apelează la coeficientul lui Cohen – kappa.
> library(e1071)
> library(class)
> classAgreement(predictie)
$diag
[1] 0.04204734
$kappa
[1] -0.003191612
$rand
[1] 0.03341356
$crand
[1] 0
Deoarece acesta are o valoare negativă, datele din predicție nu sunt de încredere.
Algoritmul K-means
K-means este un algoritm de clusterizare non-ierarică care împarte un set de date în clustere folosind
diferite criterii pentru gruparea instantelor. Pentru împărțirea pe clustere se folosesc variabilele
numerice Wt, Time, Doze, conc și se exclude variabila factor Subject.
> km<-kmeans(Theoph[,-1],3)
K-means clustering with 3 clusters of sizes 41, 39, 52
Cluster means:
Wt Dose Time conc
1 59.13902 5.432683 7.293902 5.226829
2 80.44103 3.820000 8.102308 4.486923
3 69.67500 4.594038 3.135577 5.105577
18
Within cluster sum of squares by cluster:
[1] 3159.922 3978.248 1416.104
(between_SS / total_SS = 53.4 %)
Available components:
Algoritmul K-mendoids
Este similară clusterizării K-means cu deosebirea că: în algoritmul K-means cluster-ul este reprezentat
prin centrul său, iar la algoritmul K-mendoids clusterul este reprezentat prin cel mai apropiat obiect d
e centrul său. Clusterizarea K-mendoids este mai robustă în prezența observațiilor atipice (outliers).
Un mendoid este un obiect reprezenativ al unui set de date sau al unui cluster, cel mai apropiat de ce
ntrul clusterului. Mendoizii sunt un concept sunt întotdeauna elemente ale setului de date.
> pamk.result<-pamk(Theoph[,-1])
$pamobject
Medoids:
ID Wt Dose Time conc
61 61 80.0 4.00 3.57 5.53
88 88 70.5 4.53 24.12 1.25
83 83 70.5 4.53 3.53 6.59
104 104 58.2 5.50 2.05 7.83
Clustering vector:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 1 1 1 1 1 1 1 1 1 2 3 3 3 3 3
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
2 3 3 3 3 3 3 3 3 3 3 2 4 4 4 4
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
4 4 4 4 4 4 2 1 1 1 1 1 1 1 1 1
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
1 2 3 3 3 3 3 3 3 3 3 3 2 3 3 3
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
3 3 3 3 3 3 3 2 1 1 1 1 1 1 1 1
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
1 1 2 4 4 4 4 4 4 4 4 4 4 2 3 3
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
3 3 3 3 3 3 3 3 2 4 4 4 4 4 4 4
129 130 131 132
4 4 4 2
19
Objective function:
build swap
5.835254 5.699591
Available components:
[1] "medoids" "id.med" "clustering" "objective"
[5] "isolation" "clusinfo" "silinfo" "diss"
[9] "call" "data"
$crit
[1] 0.0000000 0.3849222 0.3062811 0.4034491 0.3567382 0.3120731
[7] 0.3105931 0.3413794 0.3565132 0.3859574
Matrice de confuzie
1 2 3 4
6 10 1 0 0
7 0 1 10 0
8 0 1 10 0
11 0 1 10 0
3 0 1 10 0
2 0 1 10 0
4 0 1 10 0
9 10 1 0 0
12 0 1 0 10
10 0 1 0 10
1 10 1 0 0
5 0 1 0 10
20
Analiza coeficienților siluetă
Silueta se calculeaza ca silueta unui obiect, silueta medie a unui cluster, silueta medie globală.
Acest indice vrea să reprezinte cât de bine este separat un cluster de vecinii săi (deci cât de apropiate
sunt elementele unui cluster (distanța intracluster) și cât de mare este distanța dintre clustere
(distanța interclustere)). Prin calculul siluetei se poate decide asupra validității de clustere.
Dacă S (i) este apropiat de 1, atunci obiectul este bine clasificat (este asociat cu clusterul
adecvat).
Dacă S (i) este aproape nul, atunci obiectul poate fi clasificat şi în următorul cluster apropiat
(obiectul este situat similar în raport cu ambele clustere)
Dacă S (i) este apropiat de –1, atunci obiectul este clasificat eronat (el este separat faţă de
celelalte clustere).
Toate cele 4 clustere au structuri slabe deoarece siluetele medii sunt de 0.46 ,0.46, 0.34 și
respectiv 0.44. De asemenea, silueta medie globală este slabă, având valoarea de 0.4, ceea ce
înseamnă că poate fi artificială.
Fuzzy C-means
Pentru acest timp de clusterizare se alege numărul de clustere, care în exemplul următor este
de 3, numărul de iterații dorite (80) și gradul de fuzificare 2 (neapărat mai mare decât 1).
Cluster centers:
21
Wt Dose Time conc
1 80.85504 3.790201 5.352993 5.087626
2 59.75066 5.384141 5.123846 5.838824
3 70.54453 4.537232 5.416048 5.086112
> result$membership[1:5,]
1 2 3
1 0.6726414 0.07382893 0.2535296
2 0.7334840 0.05599523 0.2105208
3 0.7625661 0.04881539 0.1886185
4 0.6719416 0.07568379 0.2523746
5 0.7281496 0.05831433 0.2135360
Matricea de confuzie:
> table(Theoph$Subject, result$cluster)
1 2 3
6 11 0 0
7 0 10 1
8 0 0 11
11 0 7 4
3 0 0 11
2 0 0 11
4 0 0 11
9 11 0 0
12 0 11 0
10 0 11 0
1 11 0 0
5 0 11 0
Clusterizare ierarhică
Dendograma se poate secționa după nivelul trei pentru a putea obține 3 clustere:
Rețele neuronale
> size.sample<-20
> trainset<-Theoph[sample(1:nrow(Theoph),size.sample),]
prediction 6 7 8 11 3 2 4 9 12 10 1 5
12 5 8 7 9 9 7 7 6 9 10 8 9
6 4 2 1 1 1 2 2 3 2 1 2 1
8 2 1 3 1 1 2 2 2 0 0 1 1
> classAgreement(table)
$diag
[1] 0.07575757576
$kappa
[1] -0.00826446281
$rand
[1] 0.4594031922
$crand
[1] -0.002771035797
Deoarece coeficientul kappa are valoare negativă, înseamnă că datele nu sunt fidele (nu sunt de
încredere).
Call:
svm(formula = Subject ~ ., data = Theoph, method = "C-classification",
kernel = "radial", cost = 10, gamma = 0.1)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 10
gamma: 0.1
( 10 11 11 11 8 8 11 11 4 10 11 11 )
Number of Classes: 12
Levels: 6 7 8 11 3 2 4 9 12 10 1 5
> predictie<-predict(model,Theoph[,-1])
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
6 6 6 1 1 1 1 1 1 1 1 2 2 4 4 4
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
4 4 4 4 2 2 8 8 3 3 3 3 3 8 8 8
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
2 2 2 4 4 4 4 4 4 4 4 2 5 5 5 5
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
25
6 6 7 7 7 11 11 11 11 7 7 7 11 8 8 8
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
3 3 3 3 8 8 8 2 9 9 9 9 9 9 9 9
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
9 9 9 10 10 10 10 10 10 10 10 10 10 10 7 11
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
11 11 11 11 11 7 7 7 11 12 12 12 12 12 12 12
129 130 131 132
12 12 12 12
Levels: 6 7 8 11 3 2 4 9 12 10 1 5
Matricea de confuzie:
pred 6 7 8 11 3 2 4 9 12 10 1 5
6 11 0 0 0 0 0 0 0 0 0 3 0
7 0 6 0 4 0 0 0 0 0 0 0 0
8 0 0 6 0 5 0 0 0 0 0 0 0
11 0 5 0 7 0 0 0 0 0 0 0 0
3 0 0 4 0 5 0 0 0 0 0 0 0
2 0 0 1 0 1 4 3 0 0 0 0 0
4 0 0 0 0 0 7 8 0 0 0 0 0
9 0 0 0 0 0 0 0 11 0 0 0 0
12 0 0 0 0 0 0 0 0 11 0 0 0
10 0 0 0 0 0 0 0 0 0 11 0 0
1 0 0 0 0 0 0 0 0 0 0 8 0
5 0 0 0 0 0 0 0 0 0 0 0 11
26