SlideShare a Scribd company logo
Veličine kvaliteta modela
mašinskog učenja
Veličine kvaliteta regresije
• Srednja apsolutna greška (Mean
Absolute Error - MAE)
– Srednja vrednost svih apsolutnih
razlika između stvarnih izlaznih
veličina i onih predviđenih modelom
(u test setu)
• Srednja kvadratna greška (Mean
Squared Error - MSE)
– Koren srednje kvadratne greške (Root
Mean Squared Error – RMSE)
– Penalizacija velikih grešaka
from sklearn.metrics import mean_absolute_error, mean_squared_error
mean_absolute_error(Y_test, predictions_poly)
mean_squared_error(Y_test, predictions_poly)
Osnovne veličine
kvaliteta klasifikacije
• Tačnost/preciznost klasifikacije
– Odnos broja tačnih predviđanja i broja
ukupnih predviđanja
• Mera tačnosti koja nije relativna u
odnosu na distribuciju izlaznih veličina
• Na primer, tačnost binarne klasifikacije
za dijagnozu dijabetesa je 76%. Min
tačnost nije 50% zbog neravnomerne
distribucije izlaznih veličina u trening
setu, već 65% (ukoliko u predviđanju
uvek pretpostavimo da je dijagnoza
negativna)
• Logaritamski gubitak (logloss)
– Uzima u obzir verovatnoće tačnog
predviđanja svih pojedinačnih klasa –
pouzdanost predviđanja
– Favorizuje ravnomerno raspoređene
greške klasifikacije po klasama –
izlaznim veličinama
scoring = 'accuracy'
scoring = 'neg_log_loss'
results = cross_val_score(lr, X, Y, cv=kf, scoring=scoring)
print(results.mean())
from sklearn import metrics
print(metrics.accuracy_score(Y_test, predictions))
print(metrics.log_loss(Y_test, predictions))
Unakrsna validacija
Train/test split
Confusion matrica
• Confusion matrica
– Veličine vezane za
sposobnost
razlikovanja klasa u
binarnoj klasifikaciji
• True positive/False
positive/True
negative/False negative
• TP=33, FP=9, FN=24,
TN=88
– Nema smisla za
unakrsnu validaciju, jer
imamo k skupa
predviđanja
from sklearn.metrics import confusion_matrix
print(confusion_matrix(Y_test, predictions, labels=[1,0]))
Broj tačnih
predviđanja
klase 1
Broj netačnih
predviđanja
klase 0
Broj netačnih
predviđanja
klase 1
Broj tačnih
predviđanja
klase 0
Predviđeno
Stvarno
Preciznost i recall
• Osnovne veličine za model predviđanja dijabetesa
– TP=33, FP=9, FN=24, TN=88
• Preciznost po klasama (tačnost klasifikacije je mean preciznosti
po klasama)
– Koji deo pozitivnih predviđanja je ispao tačan?
• P=33/(33+9)=0.79. Kada model predviđa da pacijent ima dijabetes, 79%
puta je u pravu
– Koji deo negativnih predviđanja je ispao tačan?
• P=88/(88+24)=0.79. Kada model predviđa da pacijent nema dijabetes,
79% puta je u pravu
• Osetljivost/Sensitivity ili Recall
– Koji deo stvarno pozitivnih vrednosti je tačno predviđen?
• R=33/(33+24)=0.58. Model 58% tačno predviđa pojavu dijabetesa
– Koji deo stvarno negativnih vrednosti je tačno predviđen?
• R=88/(88+9)=0.91. Model 91% tačno predviđa da pacijent nema dijabetes
from sklearn.metrics import classification_report
print(classification_report(Y_test, predictions))
Predviđeno
Stvarno
Površina ispod ROC krive
• Površina ispod ROC krive
(Area under Receiver
Operating Characterists
Curve - AUROC)
– Za binarnu klasifikaciju
– Mera sposobnosti modela
da razlikuje klase – izlazne
veličine
• U intervalu 0.5,1
– 0.5 – sva predviđanja
netačna
– 1 – sva predviđanja
tačna
– ROC kriva spaja tačke za
različite vrednosti praga
klasifikacije (classification
threshold)
– Ako je AUC=0.83, to znači
da postoji 83%
verovatnoće da model
razlikuje klase – izlazne
veličine
scoring = 'roc_auc'
results = cross_val_score(lr, X, Y, cv=kf, scoring=scoring)
print(results.mean())

More Related Content

More from Milan Zdravković

Social media promotion
Social media promotionSocial media promotion
Social media promotion
Milan Zdravković
 
UPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMNUPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMN
Milan Zdravković
 
UPRO01 - Modeliranje poslovnih procesa
UPRO01 -  Modeliranje poslovnih procesaUPRO01 -  Modeliranje poslovnih procesa
UPRO01 - Modeliranje poslovnih procesa
Milan Zdravković
 
UPRO00 - Uvod u BPM
UPRO00 - Uvod u BPMUPRO00 - Uvod u BPM
UPRO00 - Uvod u BPM
Milan Zdravković
 
MEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjemMEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjem
Milan Zdravković
 
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best PracticesPA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
Milan Zdravković
 
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
Milan Zdravković
 
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updatesPA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
Milan Zdravković
 
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issuesPA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
Milan Zdravković
 
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility CheckerPA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
Milan Zdravković
 
IT1 1.5 Analiza podataka
IT1 1.5 Analiza podatakaIT1 1.5 Analiza podataka
IT1 1.5 Analiza podataka
Milan Zdravković
 
IT1 1.3 Internet pod haubom
IT1 1.3 Internet pod haubomIT1 1.3 Internet pod haubom
IT1 1.3 Internet pod haubom
Milan Zdravković
 
IT1 1.1 Opis i metodologija kursa
IT1 1.1 Opis i metodologija kursaIT1 1.1 Opis i metodologija kursa
IT1 1.1 Opis i metodologija kursa
Milan Zdravković
 
Online content management tips and tricks
Online content management tips and tricksOnline content management tips and tricks
Online content management tips and tricks
Milan Zdravković
 
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWLMEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
Milan Zdravković
 
MEZN04 - Softver za kreiranje ontologija - Protege
MEZN04 - Softver za kreiranje ontologija - ProtegeMEZN04 - Softver za kreiranje ontologija - Protege
MEZN04 - Softver za kreiranje ontologija - Protege
Milan Zdravković
 
MEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFS
MEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFSMEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFS
MEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFS
Milan Zdravković
 
MEZN01 - Semantički web i osnovne tehnologije za njegovu realizaciju
MEZN01 - Semantički web i osnovne tehnologije za njegovu realizacijuMEZN01 - Semantički web i osnovne tehnologije za njegovu realizaciju
MEZN01 - Semantički web i osnovne tehnologije za njegovu realizaciju
Milan Zdravković
 
MEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanja
MEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanjaMEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanja
MEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanja
Milan Zdravković
 
UPRO - Rad sa promenljivama procesa
UPRO - Rad sa promenljivama procesaUPRO - Rad sa promenljivama procesa
UPRO - Rad sa promenljivama procesa
Milan Zdravković
 

More from Milan Zdravković (20)

Social media promotion
Social media promotionSocial media promotion
Social media promotion
 
UPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMNUPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMN
 
UPRO01 - Modeliranje poslovnih procesa
UPRO01 -  Modeliranje poslovnih procesaUPRO01 -  Modeliranje poslovnih procesa
UPRO01 - Modeliranje poslovnih procesa
 
UPRO00 - Uvod u BPM
UPRO00 - Uvod u BPMUPRO00 - Uvod u BPM
UPRO00 - Uvod u BPM
 
MEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjemMEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjem
 
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best PracticesPA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
 
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
 
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updatesPA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
 
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issuesPA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
 
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility CheckerPA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
 
IT1 1.5 Analiza podataka
IT1 1.5 Analiza podatakaIT1 1.5 Analiza podataka
IT1 1.5 Analiza podataka
 
IT1 1.3 Internet pod haubom
IT1 1.3 Internet pod haubomIT1 1.3 Internet pod haubom
IT1 1.3 Internet pod haubom
 
IT1 1.1 Opis i metodologija kursa
IT1 1.1 Opis i metodologija kursaIT1 1.1 Opis i metodologija kursa
IT1 1.1 Opis i metodologija kursa
 
Online content management tips and tricks
Online content management tips and tricksOnline content management tips and tricks
Online content management tips and tricks
 
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWLMEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
 
MEZN04 - Softver za kreiranje ontologija - Protege
MEZN04 - Softver za kreiranje ontologija - ProtegeMEZN04 - Softver za kreiranje ontologija - Protege
MEZN04 - Softver za kreiranje ontologija - Protege
 
MEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFS
MEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFSMEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFS
MEZN03 - Jezici za reprezentaciju znanja na Webu – RDF i RDFS
 
MEZN01 - Semantički web i osnovne tehnologije za njegovu realizaciju
MEZN01 - Semantički web i osnovne tehnologije za njegovu realizacijuMEZN01 - Semantički web i osnovne tehnologije za njegovu realizaciju
MEZN01 - Semantički web i osnovne tehnologije za njegovu realizaciju
 
MEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanja
MEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanjaMEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanja
MEZN02 - Primena računarske logike za reprezentaciju i rasuđivanje znanja
 
UPRO - Rad sa promenljivama procesa
UPRO - Rad sa promenljivama procesaUPRO - Rad sa promenljivama procesa
UPRO - Rad sa promenljivama procesa
 

OKMU 3.2 Veličine kvaliteta modela mašinskog učenja u Python-u

  • 2. Veličine kvaliteta regresije • Srednja apsolutna greška (Mean Absolute Error - MAE) – Srednja vrednost svih apsolutnih razlika između stvarnih izlaznih veličina i onih predviđenih modelom (u test setu) • Srednja kvadratna greška (Mean Squared Error - MSE) – Koren srednje kvadratne greške (Root Mean Squared Error – RMSE) – Penalizacija velikih grešaka from sklearn.metrics import mean_absolute_error, mean_squared_error mean_absolute_error(Y_test, predictions_poly) mean_squared_error(Y_test, predictions_poly)
  • 3. Osnovne veličine kvaliteta klasifikacije • Tačnost/preciznost klasifikacije – Odnos broja tačnih predviđanja i broja ukupnih predviđanja • Mera tačnosti koja nije relativna u odnosu na distribuciju izlaznih veličina • Na primer, tačnost binarne klasifikacije za dijagnozu dijabetesa je 76%. Min tačnost nije 50% zbog neravnomerne distribucije izlaznih veličina u trening setu, već 65% (ukoliko u predviđanju uvek pretpostavimo da je dijagnoza negativna) • Logaritamski gubitak (logloss) – Uzima u obzir verovatnoće tačnog predviđanja svih pojedinačnih klasa – pouzdanost predviđanja – Favorizuje ravnomerno raspoređene greške klasifikacije po klasama – izlaznim veličinama scoring = 'accuracy' scoring = 'neg_log_loss' results = cross_val_score(lr, X, Y, cv=kf, scoring=scoring) print(results.mean()) from sklearn import metrics print(metrics.accuracy_score(Y_test, predictions)) print(metrics.log_loss(Y_test, predictions)) Unakrsna validacija Train/test split
  • 4. Confusion matrica • Confusion matrica – Veličine vezane za sposobnost razlikovanja klasa u binarnoj klasifikaciji • True positive/False positive/True negative/False negative • TP=33, FP=9, FN=24, TN=88 – Nema smisla za unakrsnu validaciju, jer imamo k skupa predviđanja from sklearn.metrics import confusion_matrix print(confusion_matrix(Y_test, predictions, labels=[1,0])) Broj tačnih predviđanja klase 1 Broj netačnih predviđanja klase 0 Broj netačnih predviđanja klase 1 Broj tačnih predviđanja klase 0 Predviđeno Stvarno
  • 5. Preciznost i recall • Osnovne veličine za model predviđanja dijabetesa – TP=33, FP=9, FN=24, TN=88 • Preciznost po klasama (tačnost klasifikacije je mean preciznosti po klasama) – Koji deo pozitivnih predviđanja je ispao tačan? • P=33/(33+9)=0.79. Kada model predviđa da pacijent ima dijabetes, 79% puta je u pravu – Koji deo negativnih predviđanja je ispao tačan? • P=88/(88+24)=0.79. Kada model predviđa da pacijent nema dijabetes, 79% puta je u pravu • Osetljivost/Sensitivity ili Recall – Koji deo stvarno pozitivnih vrednosti je tačno predviđen? • R=33/(33+24)=0.58. Model 58% tačno predviđa pojavu dijabetesa – Koji deo stvarno negativnih vrednosti je tačno predviđen? • R=88/(88+9)=0.91. Model 91% tačno predviđa da pacijent nema dijabetes from sklearn.metrics import classification_report print(classification_report(Y_test, predictions)) Predviđeno Stvarno
  • 6. Površina ispod ROC krive • Površina ispod ROC krive (Area under Receiver Operating Characterists Curve - AUROC) – Za binarnu klasifikaciju – Mera sposobnosti modela da razlikuje klase – izlazne veličine • U intervalu 0.5,1 – 0.5 – sva predviđanja netačna – 1 – sva predviđanja tačna – ROC kriva spaja tačke za različite vrednosti praga klasifikacije (classification threshold) – Ako je AUC=0.83, to znači da postoji 83% verovatnoće da model razlikuje klase – izlazne veličine scoring = 'roc_auc' results = cross_val_score(lr, X, Y, cv=kf, scoring=scoring) print(results.mean())