Modelli probabilistici
Davide Cittaro e Marco Stefani
Master bioinformatica 2003
Introduzione
L’obiettivo di presente lavoro è la classificazione di un insieme di proteine, definite
da 27 valori numerici, detti attributi. Il significato degli attributi è sconosciuto, quindi
nessuna analisi preventiva è stata possibile, come risulta impossibile verificare la
qualità dei dati stessi. Un meta-attributo specifica a quale classe appartiene la
proteina; ciò permette una classificazione di tipo supervisionato, che offre il
vantaggio di poter misurare l’errore commesso dal modello durante la fase di verifica.
Gli strumenti software
La nostra ricerca cerca di individuare il miglior classificatore per questo specifico
insieme di dati, utilizzando due applicazioni, Weka e BN PowerSoft, che permettono
di costruire dei classificatori di vario tipo.
Weka offre un’ampia collezione di classificatori sia supervisionati che non
supervisionati. Il comportamento di ogni classificatore può essere modificato e
controllato da un insieme specifico di parametri. Individuati i modelli più interessanti,
Weka dà la possibilità di definire un ciclo di esperimenti in cui un numero arbitrario
di classificatori può essere provato su un insieme di dati; anche il numero di
esperimenti è definito dall’utente. Diventa facile così confrontare i risultati dei vari
classificatori sugli stessi dati, e verificare la stabilità del modello durante le
reiterazioni.
BN PowerSoft utilizza solo dei modelli bayesiani. In questo caso, la scelta obbligata
del classificatore è compensata dal miglior controllo sulla creazione e l’addestramento
della rete.
Gli esperimenti
Di seguito riportiamo una breve descrizione del lavoro svolto con i due programmi
descritti e i risultati dei relativi esperimenti. Le descrizioni dettagliate dei risultati
sono memorizzate in file esterni, i cui riferimenti sono riportati di fianco ai risultati
sintetici.
WEKA
Per trovare i migliori classificatori abbiamo usato Weka Explorer. Abbiamo condotto
una serie di test con classificatori che usano metodi di analisi diversi. In tutti i casi, il
primo esperimento si è sempre svolto con i parametri di default. Abbiamo verificato
le differenze date da un insieme discretizzato rispetto ai dati non modificati. In
qualche circostanza abbiamo provato variazioni diverse, come la normalizzazione o la
standardizzazione dei dati. La mancanza di miglioramenti ci ha però fatto desistere
dall’utilizzarli con maggior frequenza. Anche la discretizzazione, quando non
peggiora i risultati, non influisce significativamente sulla capacità di classificazione.
Nella fase di validazione abbiamo privilegiato la cross-validation rispetto all’hold out
perché la consideriamo più affidabile nella verifica del modello: ogni istanza viene
usata, in momenti diversi, sia nell’addestramento che nel test, riducendo la possibilità
di classificare male eventuali casi anomali.
La valutazione complessiva del classificatore si basa sulla percentuale dei risultati
corretti; come risulta dalla Tabella 1, i risultati ottenuti variano sensibilmente, dal
74,59% di ZeroR all’87,48% di IBk.
Per semplificare la lettura dei risultati degli esperimenti, mostriamo una tabella
riassuntiva con i parametri più significativi. Cliccando sul nome del classificatore, si
può accedere alla sezione corrispondente nell’Appendice A, che mostra i dati più
significativi. I nomi dei file che contengono tutti i dettagli dell’esperimento sono
elencati nella colonna ‘File’.
Nome
ZeroR
NaiveBayes
NaiveBayes
J48
J48
JRip
JRip
JRip
JRip
K*
K*
SMO
Neural Networks
NaiveBayesSimple
NaiveBayesUpdateable
IB1
IBk
IB1
IB1
IB1
IB1
K*
K*
K*
IBk
Validazione
XV 10 fold
XV 10 fold
XV 10 fold
XV 10 fold
XV 10 fold
XV 10 fold
XV 10 fold
HO 66%
HO 75%
Xv 10 fold
XV 10 fold
XV 10 fold
HO 75%
XV 10 fold
XV 10 fold
XV 10 fold
XV 10 fold
XV 10 fold
XV 10 fold
XV 10 fold
XV 10 fold
XV 10 fold
HO 66%
XV 10 fold
HO 66%
Opzioni
D
D
D
D
D
D
Ds
D
N
S
D
D
A
% Corretti
74,59
80,83
80,01
82,95
83,09
84,15
82,49
84,91
84,95
87,43
84,57
83,40
84,83
79,81
80,01
87,31
87,48
82,52
83,83
87,31
83.31
84,43
84,82
87,43
86,67
Tabella 1 – Classificatori analizzati con Weka
Legenda
Validazione:
XV: Cross validation
HO: Hold out
Opzioni:
D: discretizzazione
Ds: discretizzazione supervisionata
N: normalizzazione
S: standardizzazione
A: autoblend (un’opzione specifica di K*)
File
R001/M001
R002/M002
R003/M003
R004/M004
R005/M005
R006/M006
R007/M007
R008/M008
R009/M009
R010/M010
R011/M011
R012/M012
R013/M013
R014/M014
R015/M015
R016/M016
R017/M017
R018/M018
R019/M019
R020/M020
R021/M021
R022/M022
R023/M023
R024/M024
R025/M025
Dalla tabella risulta immediatamente che, globalmente, il miglior classificatore è IBk,
e che in generale tutti i classificatori basati sulla distanza (IB1, IBk, K*), hanno una
buona prestazione. Per i migliori classificatori riportiamo anche i risultati ripartiti per
le singole classi.
JRip
TP Rate
0.929
0.576
FP Rate
0.424
0.071
Precision
0.883
0.704
Recall F-Measure
0.929
0.905
0.576
0.633
Class
P1
P2
TP Rate
0.915
0.756
FP Rate
0.244
0.085
Precision
0.917
0.752
Recall F-Measure
0.915
0.916
0.756
0.754
Class
P1
P2
TP Rate
0.934
0.529
FP Rate
0.471
0.066
Precision
0.853
0.731
Recall F-Measure
0.934
0.892
0.529
0.614
Class
P1
P2
IBk
J48
La capacità di classificare correttamente la classe P1 in generale è più elevata rispetto
a P2. IBk è il più bilanciato sulle due classi, ottenendo una buona classificazione per
entrambe. Nel caso degli altri due, la capacità di discriminare la classe P2 è scarsa:
con una percentuale prossima al 50% di veri positivi, essi hanno una capacità di
riconoscere P2 paragonabile al lancio di una moneta.
Con i migliori classificatori trovati delle categorie lazy, rules e tree, abbiamo svolto
con Weka Experimenter dei cicli di test che confrontano direttamente i risultati tra
loro e permettono di valutare la stabilità del modello. Non abbiamo preso in
considerazione i classificatori bayesiani, perché hanno risultati inferiori rispetto a
quelli usati. I classificatori usati sono IBk, JRip e J48.
Abbiamo eseguito tre cicli di esperimenti in cui è stato cambiato il metodo di
validazione:
• Ciclo 1: cross-validation con 10 fold
o File: expRis001/expDef001
• Ciclo 2: hold-out al 66% con selezione casuale ad ogni iterazione
o File: expRis002/expDef002
• Ciclo 3: hold-out al 66% conservando la divisione dei due sottoinsiemi
o File: expRis003/expDef003
Per ogni ciclo abbiamo eseguito 10 ripetizioni.
Sotto sono riportati i risultati espressi come percentuale di classificati correttamente.
Ciclo 1
Dataset
protein
(1) rules.JRip '-F | (2) trees.j48.J4 (3) lazy.IBk '-K
--------------------------------------------------------(100)
83.86( 1.64) |
82.46( 1.9 )
87.49( 1.62) v
--------------------------------------------------------(v/ /*) |
(0/1/0)
(1/0/0)
Ciclo 2
Dataset
protein
(1) rules.JRip '-F | (2) trees.j48.J4 (3) lazy.IBk '-K
--------------------------------------------------------(10)
82.71( 1.29) |
81.45( 0.67)
86.94( 0.63) v
---------------------------------------------------------
(v/ /*) |
(0/1/0)
(1/0/0)
Ciclo 3
Dataset
(1) rules.JRip '-F | (2) trees.j48.J4 (3) lazy.IBk '-K
--------------------------------------------------------(1)
81.46(Inf ) |
81.29(Inf )
87
(Inf )
--------------------------------------------------------(v/ /*) |
(0/1/0)
(0/1/0)
protein
Tra parentesi viene riportata la deviazione standard. I metodi di validazione non
influiscono significativamente sulla capacità di classificazione, e IBk si conferma
globalmente come il migliore classificatore e il più stabile: sia in termini assoluti che
relativi la sua deviazione standard è minore rispetto agli altri.
In Tabella 2 riportiamo la sensitività e la specificità per i classificatori usati durante i
cicli di esperimenti: essi sono due indicatori importanti per valutare l’effettiva
capacità del modello di discriminare le proteine.
Le formule usate per calcolare i due parametri sono
Sensitività: TP / (TP + FN)
Specificità: TP / (TP + FP)
Esperimento
JRip
J48
IBk
Ciclo 1
Specificità
Sensibilità
0,94
0,86
0,90
0,87
0,92
0,92
Ciclo 2
Specificità
Sensibilità
0,94
0,85
0,89
0,86
0,91
0,91
Ciclo 3
Specificità
Sensibilità
0,93
0,84
0,87
0,88
0,92
0,91
Tabella 2 – Specificità e sensibilità
JRip mostra contemporaneamente la migliore sensitività e la peggiore specificità, cioè
tende a generare un numero di falsi positivi superiore agli altri due modelli. IBk è il
più equilibrato, e complessivamente il suo è il comportamento migliore, perché riesce
a filtrare meglio i falsi positivi e bilanciare così la minor capacità di classificazione
corretta. J48 è il classificatore che si comporta complessivamente peggio.
Occorre comunque tenere presente che le differenze sono dell’ordine dei centesimi di
punto, rendendo le differenze minime.
CHENG
I dati sono stati subito divisi in due sottoinsiemi per i dati di training e quelli di test,
con percentuale di hold-out del 33%. I dati di training sono stati discretizzati con il
modulo di pre-processing secondo il metodo supervisionato in base all’entropia della
classe, che da test preliminari è risultato il più efficiente.
Con il modulo Constructor abbiamo poi costruito la rete delle relazioni causa-effetto
tra gli attributi dell’intero insieme di dati, sperimentando i due valori di soglia 1,0 e
5,0. La soglia influisce direttamente sulla quantità di relazioni trovate: una soglia
bassa permette di identificare le relazioni più deboli, e viceversa. In Figura 1 e Figura
2 vengono mostrate le reti prodotte.
Figura 1 – Relazioni causa-effetto con soglia 1,0
Figura 2 - Relazioni causa-effetto con soglia 5,0
Con il modulo Predictor abbiamo infine costruito una serie di reti bayesiane che
variano per alcuni parametri fondamentali dell’architettura. Nella costruzione delle
reti abbiamo ridefinito le relazioni causa-effetto utilizzando i risultati del Constructor,
ma non avendo notato alcuna variazione, anche dal punto di vista numerico, abbiamo
deciso di ignorare questi risultati, e di proseguire gli esperimenti utilizzando solo le
relazioni causa-effetto di default. Non abbiamo cambiato gli altri parametri, come
l’ordinamento totale o parziale, perché non abbiamo informazioni sufficienti sul
significato degli attributi.
Per ogni configurazione abbiamo generato una rete singola e una multipla. I risultati
sono riassunti in Tabella 3. Anche in questo caso, è possibile cliccare sul nome
dell’esperimento per andare alla relativa sezione dell’Appendice B che riporta i
risultati riassuntivi del classificatore; agli esperimenti abbiamo anche affiancato il
riferimento al file che definisce la rete prodotta. Gli altri file prodotti hanno lo stesso
nome e una diversa estensione che li identifica:
•
•
•
•
•
jpg per le immagini delle reti costruite da Predictor
o nel caso delle multinet, al nome viene aggiunto ‘p1’ o ‘p2’ per
identificare le due classi
bnc per i classificatori
log per i file di log
txt per i file analitici dei risultati
dne per le relazioni causa-effetto in forma analitica, mostrate in Figura 1 e
Figura 2. In questo caso i file si chiamano ce1.dne e ce5.dne rispettivamente
Esperimento
001
002
003
004
005
006
007
008
009
010
011
012
Archittettura
S
M
S
M
S
M
S
M
S
M
S
M
Soglia
Automatica
Automatica
1,0
1,0
0,5
0,5
0,3
0,3
2,0
2,0
5,0
5,0
Risultato
81,70±2,29%
82,62±2,25%
81,52±2,30%
81,43±2,31%
82,34±2,26%
83,07±2,22%
81,70±2,29%
82,98±2,23%
80,60±2,34%
80,42±2,35%
79,96±2,37%
75,02±2,57%
File
bn001.bnc
bn002.bnc
bn003.bnc
bn004.bnc
bn005.bnc
bn006.bnc
bn007.bnc
bn008.bnc
bn009.bnc
bn010.bnc
bn011.bnc
bn012.bnc
Tabella 3 – Parametri degli esperimenti e risultati
Legenda
Architettura:
S: Rete singola
M: rete multipla
In Figura 3 vengono mostrate le percentuali di classificazioni corrette rispetto alla
soglia usata, per le due tipologie di reti: per entrambe, il comportamento con soglia
bassa è migliore, con il massimo intorno a 0,5. Allontanandosi da questo intorno, i
risultati degradano vistosamente, e continuando a sinistra si incorre nell’over-fitting,
dovuto ad un eccessivo numero di relazioni rispetto al numero di istanze.
Aumentando la soglia, il peggioramento è per tutte e due monotono decrescente.
Nell’intervallo [1, 2] il comportamento delle reti è sostanzialmente identico, ma oltre
quest’intervallo la rete semplice offre la prestazione migliore senza degradare tanto
quanto la multi-net. La single-net mostra complessivamente una stabilità superiore.
84
83
82
% classificati corretti
81
80
Single net
Multi net
79
78
77
76
75
74
0
1
2
3
4
5
6
soglia
Figura 3 – Capacità di classificazione al variare della soglia
CONCLUSIONI
La migliore delle reti semplici costruite da Cheng, con una percentuale di
classificazioni corrette dell’82,34%, ha prestazioni leggermente superiori rispetto alle
reti bayesiane di Weka, che raggiungono al massimo una percentuale dell’80,82%.
Rispetto alle altre tipologie di classificatori, però, si può notare come in nessun caso
le reti bayesiane ottengano risultati superiori; a maggior ragione, esse non sono in
grado di ottenere percentuali di classificazione paragonabili al migliore classificatore
generato da Weka, IBk, che classifica correttamente l’87,48% delle proteine.
Appendice A: Risultati Weka
ZeroR discretizzato
Definisce l’estremo inferiore del risultato della classificazione: classificando gli
elementi nella classe più numerosa, predice la media per le classi numeriche o la
moda per le classi nominali
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
2616
891
0
0.3791
0.4353
100.0021 %
100
%
3507
74.5937 %
25.4063 %
=== Detailed Accuracy By Class ===
TP Rate
1
0
FP Rate
1
0
Precision
0.746
0
Recall
1
0
F-Measure
0.854
0
Class
P1
P2
=== Confusion Matrix ===
a
2616
891
b
<-- classified as
0 |
a = P1
0 |
b = P2
NaiveBayes discretizzato
Classificatore probabilistico che si basa sugli stimatori di classe.
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
2835
672
0.4554
0.2194
0.3883
57.8644 %
89.1918 %
3507
80.8383 %
19.1617 %
=== Detailed Accuracy By Class ===
TP Rate
0.909
0.514
FP Rate
0.486
0.091
Precision
0.846
0.657
=== Confusion Matrix ===
a
b
<-- classified as
Recall
0.909
0.514
F-Measure
0.876
0.577
Class
P1
P2
2377
433
239 |
458 |
a = P1
b = P2
NaiveBayes
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
2806
701
0.4432
0.2225
0.4011
58.6972 %
92.1404 %
3507
80.0114 %
19.9886 %
=== Detailed Accuracy By Class ===
TP Rate
0.893
0.526
FP Rate
0.474
0.107
Precision
0.847
0.627
Recall
0.893
0.526
F-Measure
0.87
0.572
Class
P1
P2
=== Confusion Matrix ===
a
2337
422
b
<-- classified as
279 |
a = P1
469 |
b = P2
J48
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
2909
598
0.5278
0.1888
0.3888
49.8077 %
89.3044 %
3507
82.9484 %
17.0516 %
=== Detailed Accuracy By Class ===
TP Rate
0.91
0.593
FP Rate
0.407
0.09
Precision
0.868
0.692
Recall
0.91
0.593
F-Measure
0.888
0.638
Class
P1
P2
=== Confusion Matrix ===
a
2381
363
b
<-- classified as
235 |
a = P1
528 |
b = P2
J48 discretizzato
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
2914
83.091
%
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
593
0.509
0.2307
0.3718
60.851 %
85.4014 %
3507
16.909
%
=== Detailed Accuracy By Class ===
TP Rate
0.934
0.529
FP Rate
0.471
0.066
Precision
0.853
0.731
Recall
0.934
0.529
F-Measure
0.892
0.614
Class
P1
P2
=== Confusion Matrix ===
a
2443
420
b
<-- classified as
173 |
a = P1
471 |
b = P2
JRip
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
2951
556
0.5353
0.2386
0.3635
62.9331 %
83.4959 %
3507
84.146
15.854
%
%
=== Detailed Accuracy By Class ===
TP Rate
0.945
0.536
FP Rate
0.464
0.055
Precision
0.857
0.77
Recall
0.945
0.536
F-Measure
0.899
0.632
Class
P1
P2
=== Confusion Matrix ===
a
2473
413
b
<-- classified as
143 |
a = P1
478 |
b = P2
JRip discretizzato
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
=== Detailed Accuracy By Class ===
2893
614
0.4955
0.2565
0.3742
67.6533 %
85.947 %
3507
82.4922 %
17.5078 %
TP Rate
0.926
0.527
FP Rate
0.473
0.074
Precision
0.852
0.709
Recall
0.926
0.527
F-Measure
0.888
0.605
Class
P1
P2
=== Confusion Matrix ===
a
2423
421
b
<-- classified as
193 |
a = P1
470 |
b = P2
JRip 66%
=== Evaluation on test split ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
1013
180
0.5698
0.2293
0.3507
60.8878 %
81.6947 %
1193
84.912
15.088
%
%
=== Detailed Accuracy By Class ===
TP Rate
0.922
0.621
FP Rate
0.379
0.078
Precision
0.883
0.72
Recall
0.922
0.621
F-Measure
0.902
0.667
Class
P1
P2
=== Confusion Matrix ===
a
b
<-- classified as
833 70 |
a = P1
110 180 |
b = P2
JRip 75%
=== Evaluation on test split ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
745
132
0.5398
0.2256
0.3512
60.9029 %
83.6537 %
877
84.9487 %
15.0513 %
=== Detailed Accuracy By Class ===
TP Rate
0.929
0.576
FP Rate
0.424
0.071
Precision
0.883
0.704
=== Confusion Matrix ===
a
631
b
<-- classified as
48 |
a = P1
Recall
0.929
0.576
F-Measure
0.905
0.633
Class
P1
P2
84 114 |
b = P2
K*
Classificatore basato sulle istanze: istanze simili appartengono a classi simili
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
3066
441
0.6681
0.1282
0.3365
33.8237 %
77.2994 %
3507
87.4251 %
12.5749 %
=== Detailed Accuracy By Class ===
TP Rate
0.916
0.752
FP Rate
0.248
0.084
Precision
0.916
0.753
Recall
0.916
0.752
F-Measure
0.916
0.752
Class
P1
P2
=== Confusion Matrix ===
a
2396
221
b
<-- classified as
220 |
a = P1
670 |
b = P2
K* discretizzato
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
2966
541
0.5495
0.1946
0.3363
51.341 %
77.2488 %
3507
84.5737 %
15.4263 %
=== Detailed Accuracy By Class ===
TP Rate
0.946
0.55
FP Rate
0.45
0.054
Precision
0.861
0.778
=== Confusion Matrix ===
a
2476
401
b
<-- classified as
140 |
a = P1
490 |
b = P2
SMO discretizzato
Recall
0.946
0.55
F-Measure
0.902
0.644
Class
P1
P2
Un algoritmo per l’addestramento dei SVM: trasforma il loro risultato in probabilità
applicando una funzione sigmoide normale che non si adatta ai dati. Questa
implementazione sostituisce globalmente tutti i valori mancanti e trasforma gli
attributi nominali in attributi binari
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
2925
582
0.47
0.166
0.4074
43.7758 %
93.5775 %
3507
83.4046 %
16.5954 %
=== Detailed Accuracy By Class ===
TP Rate
0.979
0.41
FP Rate
0.59
0.021
Precision
0.83
0.867
Recall
0.979
0.41
F-Measure
0.898
0.556
Class
P1
P2
=== Confusion Matrix ===
a
2560
526
b
<-- classified as
56 |
a = P1
365 |
b = P2
Neural Networks 75%
=== Evaluation on test split ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
744
133
0.579
0.1587
0.3577
42.8362 %
85.1983 %
877
84.8347 %
15.1653 %
=== Detailed Accuracy By Class ===
TP Rate
0.89
0.707
FP Rate
0.293
0.11
Precision
0.912
0.651
Recall
0.89
0.707
F-Measure
0.901
0.678
Class
P1
P2
=== Confusion Matrix ===
a
b
<-- classified as
604 75 |
a = P1
58 140 |
b = P2
Naive Bayes Simple
Un classificatore bayesiano semplice in cui gli attributi numerici sono modellati con
una distribuzione normale
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
2799
708
0.4383
0.2229
0.4017
58.8027 %
92.281 %
3507
79.8118 %
20.1882 %
=== Detailed Accuracy By Class ===
TP Rate
0.891
0.524
FP Rate
0.476
0.109
Precision
0.846
0.622
Recall
0.891
0.524
F-Measure
0.868
0.569
Class
P1
P2
=== Confusion Matrix ===
a
2332
424
b
<-- classified as
284 |
a = P1
467 |
b = P2
NaiveBayes Updateable
Variante del precedente.
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
2806
701
0.4432
0.2225
0.4011
58.6972 %
92.1404 %
3507
80.0114 %
19.9886 %
=== Detailed Accuracy By Class ===
TP Rate
0.893
0.526
FP Rate
0.474
0.107
Precision
0.847
0.627
Recall
0.893
0.526
F-Measure
0.87
0.572
Class
P1
P2
=== Confusion Matrix ===
a
2337
422
b
<-- classified as
279 |
a = P1
469 |
b = P2
IB1
Usa una semplice misura della distanza: per ogni istanza dell’insieme di test, cerca la
minore distanza tra le istanze del training set, e la assegna a quella classe.
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
3062
445
0.6668
0.1269
0.3562
33.4712 %
81.8258 %
3507
87.3111 %
12.6889 %
=== Detailed Accuracy By Class ===
TP Rate
0.912
0.758
FP Rate
0.242
0.088
Precision
0.917
0.747
Recall
0.912
0.758
F-Measure
0.915
0.752
Class
P1
P2
=== Confusion Matrix ===
a
2387
216
b
<-- classified as
229 |
a = P1
675 |
b = P2
IBk
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
3068
439
0.6704
0.1266
0.3539
33.3832 %
81.293 %
3507
87.4822 %
12.5178 %
=== Detailed Accuracy By Class ===
TP Rate
0.915
0.756
FP Rate
0.244
0.085
Precision
0.917
0.752
Recall
0.915
0.756
F-Measure
0.916
0.754
Class
P1
P2
=== Confusion Matrix ===
a
2394
217
b
<-- classified as
222 |
a = P1
674 |
b = P2
IB1 discretizzato
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
2894
613
0.5165
0.1748
0.4181
46.1075 %
96.0374 %
3507
82.5207 %
17.4793 %
=== Detailed Accuracy By Class ===
TP Rate
0.907
0.586
FP Rate
0.414
0.093
Precision
0.865
0.681
Recall
0.907
0.586
F-Measure
0.886
0.63
Class
P1
P2
=== Confusion Matrix ===
a
2372
369
b
<-- classified as
244 |
a = P1
522 |
b = P2
IB1 discretizzato
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
2940
567
0.5675
0.1617
0.4021
42.6476 %
92.3638 %
3507
83.8323 %
16.1677 %
=== Detailed Accuracy By Class ===
TP Rate
0.899
0.661
FP Rate
0.339
0.101
Precision
0.886
0.69
Recall
0.899
0.661
F-Measure
0.892
0.675
Class
P1
P2
=== Confusion Matrix ===
a
2351
302
b
<-- classified as
265 |
a = P1
589 |
b = P2
IB1 normalizzato
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
3062
445
0.6668
0.1269
0.3562
33.4712 %
81.8258 %
3507
87.3111 %
12.6889 %
=== Detailed Accuracy By Class ===
TP Rate
0.912
0.758
FP Rate
0.242
0.088
Precision
0.917
0.747
=== Confusion Matrix ===
Recall
0.912
0.758
F-Measure
0.915
0.752
Class
P1
P2
a
2387
216
b
<-- classified as
229 |
a = P1
675 |
b = P2
IB1 standardizzato
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
3062
445
0.6668
0.1269
0.3562
33.4712 %
81.8258 %
3507
87.3111 %
12.6889 %
=== Detailed Accuracy By Class ===
TP Rate
0.912
0.758
FP Rate
0.242
0.088
Precision
0.917
0.747
Recall
0.912
0.758
F-Measure
0.915
0.752
Class
P1
P2
=== Confusion Matrix ===
a
2387
216
b
<-- classified as
229 |
a = P1
675 |
b = P2
K* discretizzato
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
2961
546
0.5774
0.1664
0.3488
43.8916 %
80.1147 %
3507
84.4311 %
15.5689 %
=== Detailed Accuracy By Class ===
TP Rate
0.91
0.651
FP Rate
0.349
0.09
Precision
0.884
0.712
=== Confusion Matrix ===
a
2381
311
b
<-- classified as
235 |
a = P1
580 |
b = P2
K* discretizzato 66%
=== Evaluation on test split ===
=== Summary ===
Recall
0.91
0.651
F-Measure
0.897
0.68
Class
P1
P2
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
1012
181
0.5853
0.168
0.3496
44.596 %
81.4427 %
1193
84.8282 %
15.1718 %
=== Detailed Accuracy By Class ===
TP Rate
0.903
0.679
FP Rate
0.321
0.097
Precision
0.898
0.691
Recall
0.903
0.679
F-Measure
0.9
0.685
Class
P1
P2
=== Confusion Matrix ===
a
b
<-- classified as
815 88 |
a = P1
93 197 |
b = P2
K* autoblend
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
3066
441
0.6681
0.1282
0.3365
33.8237 %
77.2994 %
3507
87.4251 %
12.5749 %
=== Detailed Accuracy By Class ===
TP Rate
0.916
0.752
FP Rate
0.248
0.084
Precision
0.916
0.753
Recall
0.916
0.752
F-Measure
0.916
0.752
Class
P1
P2
=== Confusion Matrix ===
a
2396
221
b
<-- classified as
220 |
a = P1
670 |
b = P2
IBk 66%
=== Evaluation on test split ===
=== Summary ===
Correctly Classified Instances
Incorrectly Classified Instances
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances
1034
159
0.6441
0.1344
0.3626
35.6918 %
84.4712 %
1193
86.6723 %
13.3277 %
=== Detailed Accuracy By Class ===
TP Rate
0.904
0.752
FP Rate
0.248
0.096
Precision
0.919
0.715
=== Confusion Matrix ===
a
b
<-- classified as
816 87 |
a = P1
72 218 |
b = P2
Appendice B: Risultati Cheng
Esperimento 001
Esperimento 002
Recall
0.904
0.752
F-Measure
0.911
0.733
Class
P1
P2
Esperimento 003
Esperimento 004
Esperimento 005
Esperimento 006
Esperimento 007
Esperimento 008
Esperimento 009
Esperimento 010
Esperimento 011
Esperimento 012
Scarica

Modelli probabilistici