Академический Документы
Профессиональный Документы
Культура Документы
:
:...credit_history in {critical,good}: yes (3)
:
credit_history = poor: no (1)
job = skilled:
:...credit_history = poor:
:...savings_balance in {< 100 DM,100 - 500 DM,
: :
500 - 1000 DM}: yes (8)
: savings_balance = unknown: no (1)
credit_history = critical:
:...other_credit = store: no (0)
: other_credit = bank: yes (4)
: other_credit = none:
: :...savings_balance in {100 - 500 DM,
:
:
unknown}: no (1)
:
savings_balance = 500 - 1000 DM: yes (1)
:
savings_balance = < 100 DM:
:
:...months_loan_duration <= 13:
:
:...percent_of_income <= 3: yes (3)
:
: percent_of_income > 3: no (3/1)
:
months_loan_duration > 13:
:
:...amount <= 5293: no (10/1)
:
amount > 5293: yes (2)
credit_history = good:
:...existing_loans_count > 1: yes (5)
existing_loans_count <= 1:
:...other_credit = store: no (2)
other_credit = bank:
:...percent_of_income <= 2: yes (2)
: percent_of_income > 2: no (6/1)
other_credit = none: [S2]
SubTree [S1]
employment_duration in {< 1 year,1 - 4 years}: yes (11/3)
employment_duration in {> 7 years,4 - 7 years,unemployed}: no (8)
SubTree [S2]
savings_balance = 100 - 500 DM: yes (3)
savings_balance = 500 - 1000 DM: no (1)
savings_balance = unknown:
:...phone = no: yes (9/1)
: phone = yes: no (3/1)
savings_balance = < 100 DM:
:...percent_of_income <= 1: no (4)
percent_of_income > 1:
:...phone = yes: yes (10/1)
phone = no:
:...purpose in {business,car0,education,renovations}: yes (3)
purpose = car:
:...percent_of_income <= 3: no (2)
: percent_of_income > 3: yes (6/1)
purpose = furniture/appliances:
:...years_at_residence <= 1: no (4)
years_at_residence > 1:
:...housing = other: no (1)
housing = rent: yes (2)
housing = own:
:...amount <= 1778: no (3)
amount > 1778:
:...years_at_residence <= 3: yes (6)
<<
<-classified as
(a): class no
(b): class yes
Attribute usage:
100.00%
60.22%
53.22%
49.44%
30.89%
25.89%
17.78%
9.67%
7.22%
6.67%
5.78%
5.56%
3.78%
3.44%
3.33%
1.67%
checking_balance
credit_history
months_loan_duration
savings_balance
job
other_credit
dependents
existing_loans_count
percent_of_income
employment_duration
phone
amount
years_at_residence
age
purpose
housing
|
0.570 |
0.110 |
|
---------------|-----------|-----------|-----------|
yes |
16 |
16 |
32 |
|
0.160 |
0.160 |
|
---------------|-----------|-----------|-----------|
Column Total |
73 |
27 |
100 |
---------------|-----------|-----------|-----------|
> credit.model.rules = C5.0(credit.train[,-17], credit.train$default, rules=T)
> str(credit.model.rules)
List of 16
$ names
: chr "| Generated using R version 3.0.2 (2013-09-25)\n| on Ven G
en 03 22:41:52 2014\n| function call: makeNamesFile(x = x, y = y, lab"| __trunca
ted__
$ cost
: chr ""
$ costMatrix : NULL
$ caseWeights : logi FALSE
$ control
:List of 11
..$ subset
: logi TRUE
..$ bands
: num 0
..$ winnow
: logi FALSE
..$ noGlobalPruning: logi FALSE
..$ CF
: num 0.25
..$ minCases
: num 2
..$ fuzzyThreshold : logi FALSE
..$ sample
: num 0
..$ earlyStopping : logi TRUE
..$ label
: chr "outcome"
..$ seed
: int 3455
$ trials
: Named num [1:2] 1 1
..- attr(*, "names")= chr [1:2] "Requested" "Actual"
$ rbm
: logi TRUE
$ boostResults: NULL
$ size
: int 21
$ dims
: int [1:2] 900 16
$ call
: language C5.0.default(x = credit.train[, -17], y = credit.train
$default, rules = T)
$ levels
: chr [1:2] "no" "yes"
$ output
: chr "\nC5.0 [Release 2.07 GPL Edition] \tFri Jan 3 22:41:52 2
014\n-------------------------------\n\nClass specified by attribute "| __trunca
ted__
$ tree
: chr ""
$ predictors : chr [1:16] "checking_balance" "months_loan_duration" "credit_hi
story" "purpose" ...
$ rules
: chr "id=\"See5/C5.0 2.07 GPL Edition 2014-01-03\"\nentries=\"1\
"\nrules=\"21\" default=\"no\"\nconds=\"3\" cover=\"15\" ok=\"15\" li"| __trunca
ted__
- attr(*, "class")= chr "C5.0"
> library(hmeasure)
>
> pred = predict(credit.model.rules, credit.test)
> misclassCounts(pred, credit.true)
Errore in as.array(true.class) : oggetto "credit.true" non trovato
> misclassCounts(pred, credit.test$default)
$conf.matrix
pred.1 pred.0
actual.1
0
0
actual.0
0
0
$metrics
ER Sens Spec Precision Recall TPR FPR F Youden
1 NaN NaN NaN
NaN
NaN NaN NaN NaN
NaN
> misclassCounts(pred, credit.test$Default)
Errore in as.array.default(true.class) :
tentativo di impostare un attributo a NULL
> str(pred)
Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 2 2 ...
> str(credit.test$default)
Factor w/ 2 levels "no","yes": 1 2 1 1 2 1 1 2 2 2 ...
> pred.unclass = unclass(pred) - 1
> true.unclass = unclass(credit.test$default) - 1
> misclassCounts(pred.unclass, true.unclass)
$conf.matrix
pred.1 pred.0
actual.1
15
17
actual.0
7
61
$metrics
ER
Sens
Spec Precision Recall
TPR
FPR
F
Youden
1 0.24 0.46875 0.8970588 0.6818182 0.46875 0.46875 0.1029412 0.5555556 0.3658088
> #------------------------------------------------------------------------> ?classAgreement
No documentation for classAgreement
in specified packages and libraries:
you could try ??classAgreement
> library(class)
> ?class
> class(iris3)
[1] "array"
> ?iris3
> train = rbind(iris3[1:25,,1],iris3[1:25,,2],iris3[1:25,,3])
> str(iris3)
num [1:50, 1:4, 1:3] 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
- attr(*, "dimnames")=List of 3
..$ : NULL
..$ : chr [1:4] "Sepal L." "Sepal W." "Petal L." "Petal W."
..$ : chr [1:3] "Setosa" "Versicolor" "Virginica"
> str(iris3[1:25,,1])
num [1:25, 1:4] 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:4] "Sepal L." "Sepal W." "Petal L." "Petal W."
> iris3[1:10,,1]
Sepal L. Sepal W. Petal L. Petal W.
[1,]
5.1
3.5
1.4
0.2
[2,]
4.9
3.0
1.4
0.2
[3,]
4.7
3.2
1.3
0.2
[4,]
4.6
3.1
1.5
0.2
[5,]
5.0
3.6
1.4
0.2
[6,]
5.4
3.9
1.7
0.4
[7,]
4.6
3.4
1.4
0.3
[8,]
5.0
3.4
1.5
0.2
[9,]
4.4
2.9
1.4
0.2
[10,]
4.9
3.1
1.5
0.1
> iris3[1:10,,1:""]
Errore in 1:"" : argomento NA/NaN
> iris3[1:10,,1:2]
, , Setosa
[1,]
[2,]
[3,]
[4,]
[5,]
[6,]
[7,]
[8,]
[9,]
[10,]
, , Versicolor
[1,]
[2,]
[3,]
[4,]
[5,]
[6,]
[7,]
[8,]
[9,]
[10,]
> str(train)
num [1:75, 1:4] 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:4] "Sepal L." "Sepal W." "Petal L." "Petal W."
> test = rbind(iris3[26:50,,1],iris3[26:50,,2],iris3[26:50,,3])
> dim(train)
[1] 75 4
> dim(test)
[1] 75 4
> ?factor
> cl = factor(c(rep("S",25),rep("C",25),rep("V",25)))
> ?rep
> str(cl)
Factor w/ 3 levels "C","S","V": 2 2 2 2 2 2 2 2 2 2 ...
> ?knn
> pred_k3 = knn(train, test, cl, k=3, prob=F)
> pred_k3
[1] S S S S S S S S S S S S S S S S S S S S S S S S S C C V C C
C
[40] C C C C C C C C C C C V C C V V V V V C V V V V C V V V V V
Levels: C S V
> table(cl, pred_k3)
pred_k3
cl C S V
C 23 0 2
S 0 25 0
V 4 0 21
> pred_k1 = knn(train, test, cl, k=1, prob=F)
> pred_k1
[1] S S S S S S S S S S S S S S S S S S S S S S S S S C C C C C
C
[40] C C C C C C C C C C C V V C V V V V V C V V V V C V V V V V
C C C V C C C C
V V V V V V
C C C V C C C C
V V V V V V
Levels: C S V
> table(cl,pred_k1)
pred_k1
cl C S V
C 24 0 1
S 0 25 0
V 3 0 22
> ?diag
> #Accuratezza
> sum(diag(table(cl,pred_k1))) / sum(table(cl,pred_k1))
[1] 0.9466667
> accuracy.vector = numeric(20)
> accuracy.vector
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> for(i in 1:20) {}
> for(i in 1:20) {
+
temp.pred = knn(train, test, cl, k=i, prob=F)
+
accuracy.vector[i] = sum(diag(table(cl,temp.pred))) / sum(table(cl,temp.pre
d))
+ }
> ?ts
> plot(ts(accuracy.vector), lwd=2)
> plot(ts(accuracy.vector), lwd=2)
> which.max(accuracy.vector)
[1] 2
> #------------------RITORNIAMO INDIETRO---------------------------------------> ts
function (data = NA, start = 1, end = numeric(), frequency = 1,
deltat = 1, ts.eps = getOption("ts.eps"), class = if (nseries >
1) c("mts", "ts", "matrix") else "ts", names = if (!is.null(dimnames(dat
a))) colnames(data) else paste("Series",
seq(nseries)))
{
if (is.data.frame(data))
data <- data.matrix(data)
if (is.matrix(data)) {
nseries <- ncol(data)
ndata <- nrow(data)
dimnames(data) <- list(NULL, names)
}
else {
nseries <- 1
ndata <- length(data)
}
if (ndata == 0)
stop("'ts' object must have one or more observations")
if (missing(frequency))
frequency <- 1/deltat
else if (missing(deltat))
deltat <- 1/frequency
if (frequency > 1 && abs(frequency - round(frequency)) <
ts.eps)
frequency <- round(frequency)
if (length(start) > 1L) {
start <- start[1L] + (start[2L] - 1)/frequency
}
if (length(end) > 1L) {
end <- end[1L] + (end[2L] - 1)/frequency
}
if (missing(end))
$
$
$
$
$
$
$
$
$
$
HouseVotes84, type='raw')[,1]
[169]
-04
[175]
+00
[181]
+00
[187]
-07
[193]
-03
[199]
+00
[205]
+00
[211]
-04
[217]
-01
[223]
+00
[229]
-08
[235]
-03
[241]
+00
[247]
-08
[253]
-05
[259]
+00
[265]
+00
[271]
-02
[277]
-01
[283]
-01
[289]
+00
[295]
-01
[301]
-08
[307]
-01
[313]
+00
[319]
-01
[325]
+00
[331]
-07
[337]
-01
[343]
-08
[96] 402 117 36 315 356 412 143 413 92 372 259 346 306 90 215 124 304
1
[115] 262 350 323 425 314 176 358 198 192 11 80 373 340 404 231 209 348
2
[134] 415 333 269 118 417 53 58 383 116 399 168 378 428 379 276 420 280
2
[153] 357 291 148 157 324 390 38 21 210 193 328 43 163 365 246 411 316
1
[172] 23 318 286 175 351 222 13 303 419 393 211 354 201 266 319 232 352
0
[191] 281 22 263 434 427 60 87 221 134 255 10 235 245 56 59 144 423
7
[210] 225 361 341 167 287 85 135 212 48 369 94 179 396 260 194 55 47
5
[229] 371 391 102 9 127 292 32 199 136 172 218 170 298 387 282 424 120
4
[248] 126 410 72 313 78 101 149 152 3 103 418 363 64 275 364 426 106
0
[267] 288 228 240 347 431 330 320 20 343 247 243 89 336 61 131 253 385
6
[286] 121 265 279 140 249 421 96 112 69 432 345 216 114 395 203 66 200
1
[305] 339 430 57 435 236 171 349 105 206 284 321 264 181 110 125 122 400
8
[324] 91 227 187
> sample(2,round(nrow(HouseVotes84)*0.75))
Errore in sample.int(x, size, replace, prob) :
cannot take a sample larger than the population when 'replace = FALSE'
> #Se replace == FALSE allora ciascuna estrazione del numero avviene
> #senza reimbussolamento
> train = HouseVotes84[randList,]
> dim(train)
[1] 326 17
> test = HouseVotes84[-randList,]
> model.nb.laplace = naiveBayes(Class~., data=train, laplace=1)
> model.nb = naiveBayes(Class~., data=train)
> predL = predict(model.nb.laplace, test)
> pred = predict(model.nb, test)
> table(predL, test$Class)
238 19
185 42
146 36
327 16
28 37
183 2
166 3
386 41
173 36
156 40
42 31
310 30
predL
democrat republican
democrat
65
2
republican
9
33
> table(pred, test$Class)
pred
democrat republican
democrat
65
2
republican
9
33
> predL.post = predict(model.nb, test, type='raw')[,2]
> predL.post = predict(model.nb.laplace, test, type='raw')[,2]
> pred.post = predict(model.nb, test, type='raw')[,2]
> predBoth = cbind(pred.post, predL.post)
> HMeasure(test$Class, predBoth)
Class labels have been switched from (democrat,republican) to (0,1)
$metrics
H
Gini
AUC
AUCH
KS
MER
M
WL
pred.post 0.7762976 0.9212355 0.9606178 0.9714286 0.8498069 0.08256881 0.065482
70
predL.post 0.7672269 0.9204633 0.9602317 0.9704633 0.8362934 0.08256881 0.071374
46
Spec.Sens95 Sens.Spec95
ER
Sens
Spec Precision
0.8783784 0.7714286 0.1009174 0.9428571 0.8783784 0.7857143
0.8648649 0.7714286 0.1009174 0.9428571 0.8783784 0.7857143
Recall
TPR
FPR
F
Youden TP FP TN FN
pred.post 0.9428571 0.9428571 0.1216216 0.8571429 0.8212355 33 9 65 2
predL.post 0.9428571 0.9428571 0.1216216 0.8571429 0.8212355 33 9 65 2
pred.post
predL.post
attr(,"data")
attr(,"data")[[1]]
attr(,"data")[[1]]$F0
[1] 0.00000000 0.02702703
1
[8] 0.12162162 0.13513514
4
[15] 0.25675676 0.28378378
5
[22] 0.36486486 0.37837838
5
[29] 0.45945946 0.47297297
4
[36] 0.55405405 0.56756757
4
[43] 0.64864865 0.66216216
2
[50] 0.72972973 0.74324324
1
[57] 0.82432432 0.83783784
8
[64] 0.89189189 0.89189189
5
[71] 0.94594595 0.94594595
6
[78] 0.95945946 0.95945946
9
[85] 0.98648649 0.98648649
9
[92] 1.00000000 1.00000000
0
[99] 1.00000000
attr(,"data")[[1]]$F1
[1] 0.00000000 0.00000000
0
[8] 0.00000000 0.00000000
0
[15] 0.00000000 0.00000000
0
[22] 0.00000000 0.00000000
0
[29] 0.00000000 0.00000000
0
[36] 0.00000000 0.00000000
0
[43] 0.00000000 0.00000000
3
[50] 0.02857143 0.02857143
3
[57] 0.02857143 0.02857143
9
[64]
4
[71]
1
[78]
6
[85]
4
[92]
0
[99]
attr(,"data")[[1]]$G0
[1] 0.00000000 0.00000000 0.01351351 0.04054054 0.05405405 0.12162162 0.32432432
[8] 1.00000000
attr(,"data")[[1]]$G1
[1] 0.0000000 0.2571429 0.5428571 0.7714286 0.8571429 0.9714286 1.0000000 1.0000
000
attr(,"data")[[1]]$cost
[1] 0.0000000 1.0000000 0.9090909 0.8000000 0.7500000 0.4444444 0.0625000 0.0000
000
[9] 1.0000000
attr(,"data")[[1]]$pi1
[1] 0.3211009
attr(,"data")[[1]]$pi0
[1] 0.6788991
attr(,"data")[[1]]$n0
[1] 74
attr(,"data")[[1]]$n1
[1] 35
attr(,"data")[[1]]$n
[1] 109
attr(,"data")[[1]]$hc
[1] 8
attr(,"data")[[1]]$s.class0
[1] 4.525125e-13 4.525125e-13
12
[7] 2.538304e-12 3.890551e-12
12
[13] 4.410442e-12 4.410442e-12
12
[19] 1.194853e-11 2.243127e-11
11
[25] 4.289404e-11 4.479269e-11
10
[31] 2.325143e-10 3.366018e-10
10
[37] 6.948256e-10 9.688177e-10
09
[43] 7.238779e-09 1.149933e-08
08
4.797781e-13 7.320922e-13 2.353211e-12 2.538304e3.981558e-12 3.998903e-12 4.106566e-12 4.106566e4.410442e-12 6.208715e-12 6.575199e-12 9.505316e2.243127e-11 3.482690e-11 4.050324e-11 4.089769e5.331871e-11 6.240569e-11 9.287757e-11 1.664516e5.209834e-10 5.321965e-10 5.433921e-10 5.973297e1.405080e-09 1.790492e-09 2.117662e-09 3.718155e1.315558e-08 2.526723e-08 3.708444e-08 4.065557e-
[49]
07
[55]
04
[61]
01
[67]
01
[73]
8.021760e-08 1.403882e-07 5.827140e-07 6.235422e-07 8.439995e-07 9.584138e1.689265e-06 1.857594e-06 2.285757e-06 1.084362e-05 7.030967e-05 2.889456e3.405700e-04 1.281181e-03 3.005914e-02 3.577871e-02 2.012428e-01 8.722791e9.666022e-01 9.780211e-01 9.829004e-01 9.942232e-01 9.993197e-01 9.999979e9.999992e-01 1.000000e+00
attr(,"data")[[1]]$s.class1
[1] 3.172690e-07 3.002413e-01
01
[7] 9.990692e-01 9.991937e-01
01
[13] 9.999948e-01 9.999955e-01
01
[19] 9.999996e-01 9.999998e-01
01
[25] 9.999999e-01 9.999999e-01
00
[31] 1.000000e+00 1.000000e+00
8.159505e-01 9.033260e-01 9.460419e-01 9.989276e9.999690e-01 9.999746e-01 9.999922e-01 9.999931e9.999989e-01 9.999991e-01 9.999994e-01 9.999996e9.999999e-01 9.999999e-01 9.999999e-01 9.999999e1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+
1.000000e+00 1.000000e+00 1.000000e+00
attr(,"data")[[1]]$severity.ratio
[1] 0.472973
attr(,"data")[[2]]
attr(,"data")[[2]]$F0
[1] 0.00000000 0.02702703
1
[8] 0.12162162 0.13513514
4
[15] 0.25675676 0.28378378
5
[22] 0.36486486 0.37837838
5
[29] 0.45945946 0.47297297
4
[36] 0.55405405 0.56756757
4
[43] 0.64864865 0.66216216
2
[50] 0.72972973 0.74324324
1
[57] 0.82432432 0.83783784
8
[64] 0.89189189 0.89189189
5
[71] 0.94594595 0.94594595
6
[78] 0.95945946 0.95945946
9
[85] 0.98648649 0.98648649
9
[92] 1.00000000 1.00000000
0
[99] 1.00000000
attr(,"data")[[2]]$F1
attr(,"data")[[2]]$G0
[1] 0.00000000 0.00000000 0.01351351 0.04054054 0.05405405 0.13513514 0.32432432
[8] 1.00000000
attr(,"data")[[2]]$G1
[1] 0.0000000 0.2571429 0.5428571 0.7714286 0.8571429 0.9714286 1.0000000 1.0000
000
attr(,"data")[[2]]$cost
[1] 0.00000000 1.00000000 0.90909091 0.80000000 0.75000000 0.40000000 0.06666667
[8] 0.00000000 1.00000000
attr(,"data")[[2]]$pi1
[1] 0.3211009
attr(,"data")[[2]]$pi0
[1] 0.6788991
attr(,"data")[[2]]$n0
[1] 74
attr(,"data")[[2]]$n1
[1] 35
attr(,"data")[[2]]$n
[1] 109
attr(,"data")[[2]]$hc
[1] 8
attr(,"data")[[2]]$s.class0
[1] 2.338869e-12 2.338869e-12
11
[7] 1.255347e-11 1.915777e-11
11
[13] 2.163481e-11 2.163481e-11
11
[19] 5.799568e-11 1.065829e-10
10
[25] 1.966008e-10 2.060753e-10
10
[31] 1.062645e-09 1.496789e-09
09
[37] 2.556589e-09 3.098267e-09
08
[43] 3.056522e-08 3.991274e-08
07
[49] 3.123092e-07 3.968584e-07
06
[55] 4.585425e-06 6.496091e-06
04
[61] 8.899171e-04 3.838173e-03
01
[67] 9.667372e-01 9.876162e-01
01
[73] 9.999989e-01 9.999999e-01
attr(,"data")[[2]]$s.class1
[1] 8.935902e-07 3.167905e-01
01
[7] 9.989291e-01 9.991017e-01
01
[13] 9.999935e-01 9.999944e-01
01
[19] 9.999995e-01 9.999997e-01
01
[25] 9.999999e-01 9.999999e-01
00
[31] 1.000000e+00 1.000000e+00
2.477128e-12 3.764024e-12 1.165847e-11 1.255347e1.928659e-11 1.985773e-11 2.020274e-11 2.020274e2.163481e-11 3.064158e-11 3.164844e-11 4.560274e1.065829e-10 1.644633e-10 1.903462e-10 1.912963e2.447647e-10 2.906770e-10 3.176506e-10 7.595068e1.704934e-09 2.289815e-09 2.326324e-09 2.329976e5.994529e-09 7.519696e-09 8.922027e-09 1.564241e4.626319e-08 1.029253e-07 1.198746e-07 1.434890e1.628488e-06 1.710560e-06 2.293669e-06 2.571179e8.132989e-06 2.811818e-05 1.753507e-04 7.893108e5.997919e-02 7.178916e-02 3.368645e-01 8.746494e9.903742e-01 9.966558e-01 9.995828e-01 9.999973e-
8.125632e-01 9.046617e-01 9.453324e-01 9.987978e9.999700e-01 9.999730e-01 9.999902e-01 9.999915e9.999986e-01 9.999988e-01 9.999992e-01 9.999995e9.999999e-01 9.999999e-01 9.999999e-01 9.999999e9.999999e-01 1.000000e+00 1.000000e+00 1.000000e+
1.000000e+00 1.000000e+00 1.000000e+00
attr(,"data")[[2]]$severity.ratio
[1] 0.472973
attr(,"class")
[1] "hmeasure"
> measure = HMeasure(test$Class, predBoth)
Class labels have been switched from (democrat,republican) to (0,1)
> measure$metrics
H
Gini
AUC
AUCH
KS
MER
M
WL
pred.post 0.7762976 0.9212355 0.9606178 0.9714286 0.8498069 0.08256881 0.065482
70
predL.post 0.7672269 0.9204633 0.9602317 0.9704633 0.8362934 0.08256881 0.071374
46
Spec.Sens95 Sens.Spec95
ER
Sens
Spec Precision
pred.post
0.8783784 0.7714286 0.1009174 0.9428571 0.8783784 0.7857143
predL.post 0.8648649 0.7714286 0.1009174 0.9428571 0.8783784 0.7857143
Recall
TPR
FPR
F
Youden TP FP TN FN
pred.post 0.9428571 0.9428571 0.1216216 0.8571429 0.8212355 33 9 65 2