Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Intelligenza Artificiale e Programmazione: Predizione e Curve ROC, Slide di Elementi di Informatica

L'importanza di studiare le probabilità di predizione in Intelligenza Artificiale per valutare le performance di un modello di classificazione. Viene presentato come ottenere le probabilità di predizione e come sono utili per misurare la capacità di un modello di distinguere tra falsi positivi e veri positivi. Inoltre, vengono introdotte le curve ROC, utilizzate per paragonare le performance di classificatori binari.

Tipologia: Slide

2019/2020

Caricato il 12/02/2020

goodvibes_
goodvibes_ 🇮🇹

4.2

(13)

54 documenti

1 / 12

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Intelligenza artificiale ed
elementi di Programmazione
L15
Università degli Studi “Suor Orsola Benincasa”
Facoltà di Scienze della Formazione
Corso di Laurea in Scienze e Tecniche di Psicologia Cognitiva
A.A. 2016/2017
Prof. Roberta Presta
pf3
pf4
pf5
pf8
pf9
pfa

Anteprima parziale del testo

Scarica Intelligenza Artificiale e Programmazione: Predizione e Curve ROC e più Slide in PDF di Elementi di Informatica solo su Docsity!

Intelligenza artificiale ed

elementi di Programmazione

L

Università degli Studi “Suor Orsola Benincasa” Facoltà di Scienze della Formazione Corso di Laurea in Scienze e Tecniche di Psicologia Cognitiva A.A. 2016/ Prof. Roberta Presta

Curve ROC

Src: Brett Lantz. Machine Learning with R (2nd ed.), 2015, Packt Publishing, Capitolo 10; DataCamp, corso “Introduction to Machine Learning”, Capitolo 3

Probabilità di predizione

u Studiare le probabilità di predizione fornisce dati molto utili per valutare le performance di un modello u Se due modelli hanno la stessa misura di errore, ma uno è più capace di tenere in conto le proprie incertezze nella stima, allora questo è il modello più smart u Ottenere le probabilità di predizione può essere difficile, poiché il metodo per farlo differisce per i diversi tipi di classificatori u In generale, per i classificatori che classificano con la funzione predict() , è possibile ottenere le probabilità di predizione usando il parametro type da impostare ai valori ”prob”, “posterior”, “raw”, o “probability” a seconda dei casi u Esempio (decision tree): type = “prob”

Probabilità di predizione

u Chiedendo alla funzione predict() di restituire le probabilità di predizione, si ottengono le probabilità per ogni livello della classe u Cioè le probabilità con cui l’osservazione appartiene ad un livello o ad un altro u La classe viene determinata scegliendo il livello cui corrisponde la probabilità più alta u Ad esempio, nel caso di un classificatore binario, le probabilità di predizione sono restituite sia per il livello 0 che per il livello 1 u Esempio:

  • Nel caso binario, si può usare solo una colonna, per convenzione quella della classe 1 - …la somma su ogni riga è sempre uno, e le colonne nel caso binario sono sempre 2

Curve ROC

u ROC = Receiver Operating Characteristic u Come suggerisce il nome, le curve ROC sono state sviluppate dagli ingegneri delle telecomunicazioni per misurare le capacità dei ricevitori di discriminare tra falsi allarmi e veri allarmi nella Seconda Guerra Mondiale u La stessa tecnica è utile ad oggi per visualizzare l’efficacia dei modelli di classificazione binaria u Le curve ROC sono comunemente impiegate per paragonare le performance di classificatori binari… u …In particolare, per esaminare il trade-off tra la il true positive rate (sensitivity - TPR) ed il false positive rate (FPR) u TPR: tasso degli allarmi riconosciuti sugli allarmi totali u FPR: tasso dei falsi allarmi sui messaggi non di allarme

Curve ROC

u Reminder: u TPR – True Positive Rate (Sensitivity): TP / (TP + FN) u FPR – False Positive Rate (1 – Specificity): FP / (FP + TN) u Date le relazioni tra TPR e FPR e Sensitivity e Specificity, le ROC sono anche note come diagrammi Sensitivity / Specificity False Positive Rate (1 – specificity) Tipico diagramma ROC

Curve ROC: interpretazione e AUC

u Quanto più la curva del classificatore sotto test tende verso il punto (FPR = 0, TPR = 0) meglio è u Ciò significa tendere a massimizzare l’area sotto la curva ROC, detta AUC – Area Under the ROC Curve u “ACU scores”:

Curve ROC in R

u Per calcolare le curve ROC, si necessita dunque: u Delle probabilità di predizione per la classe 1, ottenute a partire dalla funzione predict() con opportuno valore del parametro type (es. type = “prob”) u Delle classi reali delle osservazioni di test, che servono per calcolare i parametri prestazionali TP, TN, FP, FN al variare di t u Per diagrammare una curva ROC e per calcolarne l’AUC si ricorre al package ROCR , in particolare alle funzioni prediction() e performance() u prediction() calcola un insieme di informazioni a partire dalle probabilità di predizione della classe 1 e le classi del test set u performance() costruisce, in base alle informazioni restituite da prediction(), l’insieme di punti della curva ROC (uso dei parametri “tpr”, “fpr”) u NB: la funzione performance() può anche restituire semplicemente il valore dell’AUC con opportuni valori dei suoi parametri (uso del parametro “auc” al posto di “tpr”, “fpr”) u Passando alla funzione plot() i punti restituiti dalla funzione performance() è possibile diagrammare la ROC