Yra daug būdų įvertinti klasifikatoriaus našumą. Šiame straipsnyje pristatome tikslaus atšaukimo kreivę ir toliau nagrinėjame skirtumą tarp dviejų populiarių našumo ataskaitų teikimo metodų: Tikslaus atšaukimo (PR) kreivės ir Imtuvo veikimo charakteristika (ROC) Kreivė. ROC kreivė jau aptarta straipsnis . Leiskite mums trumpai suprasti, kas yra tikslumo ir atsiminimo kreivė.
Kas yra tikslumas ir atsiminimas?
Tikslumas
- Teisingai numatytų teigiamų stebėjimų ir visų numatomų teigiamų stebėjimų santykis yra žinomas kaip tikslumas.
- Jis įvertina, kaip gerai modelis prognozuoja teigiamus rezultatus.
- Tikslumo formulė yra tokia:
- Tikslumas yra susijęs su teigiamų prognozių kokybe. Didelis tikslumas rodo, kad modelis turi mažą klaidingų teigiamų rezultatų procentą.
Prisiminkite
- Teisingai numatytų teigiamų stebėjimų santykis su bendru faktinių teigiamų stebėjimų skaičiumi vadinamas atšaukimu.
- Jis įvertina, kaip gerai modelis gali užfiksuoti kiekvieną atitinkamą atvejį.
- Atšaukimas apskaičiuojamas pagal šią formulę:
- Prisiminimas susijęs su modelio užfiksuotų atitinkamų atvejų skaičiumi. Didelis atšaukimas rodo, kad modelis turi mažą klaidingų neigiamų rezultatų procentą.
Kalbant apie empirinį aiškinimą, painiavos matrica, kurią sudaro keturi pagrindiniai terminai, yra pati naudingiausia priemonė tikslumui ir prisiminimui suprasti:
- True Positive (TP): tiksliai identifikuotų teigiamų klasės atvejų skaičius
- Klaidingai teigiamas (FP): neigiamų klasės egzempliorių, kurie klaidingai identifikuojami kaip teigiami klasės egzemplioriai, skaičius yra žinomas kaip klaidingas teigiamas (FP).
- True Negative (TN): tiksliai identifikuotų neigiamų klasių atvejų skaičius
- Klaidingai neigiamas (FN): teigiamų klasės atvejų, kurie klaidingai klasifikuojami kaip neigiami klasės atvejai (klaidingai neigiami arba FN), skaičius.
Mašininio mokymosi tikslumo prisiminimo (PR) kreivė
Tikslumas yra dalis teisinga teigiami klasifikatoriai (tikrai teigiami), padalyti iš bendro skaičiaus numatė atliktos teigiamos klasifikacijos (tikras teigiamas + klaidingas teigiamas). Prisiminkite yra dalis teisinga teigiamos klasifikacijos (tikrosios teigiamos), padalytos iš bendro skaičiaus nuoširdžiai teigiamos klasifikacijos (tikras teigiamas + klaidingas neigiamas).
PR kreivė yra tiesiog grafikas su tikslumo reikšmėmis y ašyje ir atšaukimo reikšmėmis x ašyje. Kitaip tariant, PR kreivė yra
- Svarbu pažymėti, kad tikslumas taip pat vadinamas teigiama prognozine verte (PPV).
- Atšaukimas taip pat vadinamas jautrumu, smūgių dažniu arba tikruoju teigiamu rodikliu (TPR).
Žemiau esančiame paveikslėlyje parodytas pavyzdinių PR ir ROC kreivių palyginimas.
Tikslumo ir atsiminimo kreivės interpretavimas
Pageidautina, kad algoritmas būtų labai tikslus ir atkuriamas. Tačiau dauguma mašininio mokymosi algoritmų dažnai apima kompromisą tarp šių dviejų. Gera PR kreivė turi didesnę AUC (plotas po kreive) . Aukščiau pateiktame paveikslėlyje mėlyną liniją atitinkančio klasifikatoriaus našumas yra geresnis nei klasifikatoriaus, atitinkančio žalią liniją. Svarbu pažymėti, kad klasifikatorius, kurio AUC yra didesnis ROC kreivė visada turės didesnį AUC ir PR kreivėje. Apsvarstykite algoritmą, kuris klasifikuoja, ar dokumentas priklauso kategorijai Sporto naujienos. Tarkime, kad yra 12 dokumentų su tokiomis pagrindinės tiesos (faktinės) ir klasifikatoriaus išvesties klasės etiketėmis.
Dokumento ID | Pagrindinė tiesa | Klasifikatoriaus išvestis |
---|---|---|
D1 | Sportas | Sportas |
D2 | Sportas | Sportas |
D3 | Ne Sportas | Sportas |
D4 | Sportas | Ne Sportas |
D5 | Ne Sportas | Ne Sportas |
D6 | Sportas | Ne Sportas |
D7 | Ne Sportas | Sportas |
D8 | Ne Sportas | Ne Sportas |
D9 | Ne Sportas | Ne Sportas |
D10 | Sportas | Sportas |
D11 | Sportas | Sportas |
D12 | Sportas | Ne Sportas |
Dabar suraskime TP, TN, FP ir FN reikšmes.
Panaudokime pavyzdį, apimantį dokumentus, klasifikuojamus kaip sportas arba ne sportas, kad geriau paaiškintume tikrų teigiamų (TP), tikrų neigiamų (TN), klaidingų teigiamų (FP) ir klaidingų neigiamų (FN) apibrėžimus klasifikavimo kontekste:
Tikri teigiami dalykai (TP): Dokumentai, kurie buvo tiksliai priskirti sporto kategorijai ir kurie iš tikrųjų buvo susiję su sportu. Dokumentai D1, D2, D10 ir D11 šiame scenarijuje yra TP atvejai.
Tikri neigiami dalykai (TN): Tikrieji neigiami atvejai yra tie atvejai, kai dokumentas buvo tinkamai pažymėtas kaip Ne sportas, nors jis neturėjo nieko bendra su sportu. Šiuo atveju TN parodo dokumentai D5, D8 ir D9.
Klaidingi teiginiai (FP): Dokumentai, kurie klaidingai priskirti sporto kategorijai, nors ir neturėjo nieko bendra su sportu. Štai keletas FP pavyzdžių, dokumentų D3 ir D7.
Klaidingi neigiamai (FN): Pavyzdžiai dokumentų, kurie klaidingai buvo pažymėti kaip ne sportas, bet iš tikrųjų jie buvo apie sportą. Dokumentai D4, D6 ir D12 šiuo atveju yra FN pavyzdžiai.
Atsižvelgiant į šiuos skaičius: Miestas =4, TN =3, FP =2, FN =3
Galiausiai tikslumas ir atšaukimas apskaičiuojami taip:
Precision = frac{TP}{TP+FP} = frac{4}{6} = frac{2}{3}
Recall = frac{TP}{TP+FN} = frac{4}{7} Iš to išplaukia, kad atšaukimas yra 4/7, kai tikslumas yra 2/3. Kitaip tariant, iš visų atvejų, kurie buvo numatyti teigiami, du trečdaliai buvo tiksliai klasifikuoti (tikslumas), o iš visų atvejų, kurie iš tikrųjų buvo teigiami, modelis sugebėjo užfiksuoti keturis septintadalius iš jų (prisiminti).
Nustatę skirtingus slenksčius, gauname kelias tokias tikslumo, atšaukimo poras. Nubraižę kelias tokias P-R poras, kurių vertė svyruoja nuo 0 iki 1, gauname PR kreivę.
Reikia PR kreivės, kai egzistuoja ROC kreivė?
PR kreivė yra ypač naudinga teikiant informacijos gavimo rezultatus.
Informacijos gavimas apima dokumentų rinkinio paiešką, kad būtų galima rasti tuos, kurie yra susiję su konkrečia vartotojo užklausa. Pavyzdžiui, tarkime, kad vartotojas įveda paieškos užklausą Pink Elephants. Paieškos variklis peržiūri milijonus dokumentų (naudodamas kai kuriuos optimizuotus algoritmus), kad gautų keletą susijusių dokumentų. Taigi galime drąsiai manyti, kad Nr. atitinkamų dokumentų bus daug mažiau, palyginti su Nr. nesusijusių dokumentų.
Pagal šį scenarijų
- TP = atitinkamų gautų dokumentų skaičius (geri rezultatai).
- FP = nesusijusių gautų dokumentų skaičius (netikri paieškos rezultatai).
- TN = negautų dokumentų, kurie nėra svarbūs, skaičius.
- FN = svarbių negrąžintų dokumentų skaičius (gerų dokumentų mes praleidome).
ROC kreivė yra diagrama, kurioje yra Recall = TPR =
Be to, FPR nepadeda gerai įvertinti paieškos sistemos, nes norime daugiau dėmesio skirti paimtiems, o ne negautoms dokumentams. PR kreivė padeda išspręsti šią problemą. PR kreivė turi atšaukimo reikšmę (TPR) x ašyje, o tikslumas =
Kada naudoti ROC ir tikslumo atšaukimo kreives?
ROC (Receiver Operating Characteristic) kreivės yra tinkamos, kai klasių pasiskirstymas yra subalansuotas, o klaidingi teigiami ir klaidingai neigiami rezultatai turi panašias pasekmes. Jie vaizduoja kompromisą tarp jautrumo ir specifiškumo. Priešingai, tikslios atšaukimo kreivės yra tinkamesnės, kai kalbama apie nesubalansuotus duomenų rinkinius, daugiausia dėmesio skiriant teigiamam klasės numatymo našumui.
Precision-Recall suteikia įžvalgų apie modelio gebėjimą teisingai klasifikuoti teigiamus atvejus. Pasirinkimas tarp ROC ir Precision-Recall priklauso nuo konkrečių problemos poreikių, pabrėžiant duomenų pasiskirstymo ir skirtingų tipų klaidų pasekmių supratimo svarbą.
Pagrindinio kodo įgyvendinimas tikslumo-atšaukimo kreivei
Būtinų bibliotekų importavimas
Šios kodo eilutės importuoja Python bibliotekos ir moduliai, reikalingi tikslios atšaukimo kreivei sugeneruoti sci-kit-learn ir vizualizuokite rezultatus naudodami Matplotlib . „Matplotlib“ yra populiari „Python“ braižymo biblioteka, o „pyplot“ suteikia paprastą sąsają įvairių tipų brėžiniams ir diagramoms kurti. Logistinė regresija yra populiarus dvejetainių ir kelių klasių klasifikavimo užduočių klasifikavimo algoritmas. Tikslumo atšaukimo kreivė ir AUC yra populiari vertinimo metrika dvejetainė klasifikacija problemų, ypač sprendžiant nesubalansuotus duomenų rinkinius.
Python3 import matplotlib.pyplot as plt from sklearn.datasets import make_classification from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import precision_recall_curve, auc>
Naudojamas duomenų rinkinys
Šis kodas generuoja sintetinį duomenų rinkinį dvejetainei klasifikavimo problemai, naudojant sci-kit-learn funkciją „make_classification“.
Python3 # Generate a synthetic dataset X, y = make_classification( n_samples=1000, n_features=20, n_classes=2, random_state=42)>
Traukinys ir bandymas Splitas
The Train_test_split Funkcija scikit-learn naudojama šiame kodo fragmente, norint padalinti anksčiau sugeneruotą sintetinį duomenų rinkinį (X ir y) į mokymo ir testavimo rinkinius. Šis padalijimas yra svarbus žingsnis vertinant mašininio mokymosi modelius. Modelis bus apmokytas pagal X_train ir y_train duomenis, prieš tai bus išbandytas pagal X_test ir y_test duomenis, kad būtų galima pamatyti, kaip gerai jis veikia su nematomais pavyzdžiais. Funkcija train_test_split atskiria mokymo ir testavimo rinkinius, užtikrindama, kad modelio veikimas atspindėtų jo apibendrinimą į naujus, anksčiau nematytus duomenis.
Python3 # Split the dataset into training and testing sets X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=42)>
Modelių kūrimas
Čia mes naudojame logistinę regresiją, kad mokytume modelį mokymo duomenų rinkinyje. Populiarus dvejetainės klasifikacijos algoritmas, logistinė regresija, įgyvendinamas sci-kit-learn klasėje LogisticRegression.
Python3 # Train a logistic regression model (you can replace this with your own classifier) model = LogisticRegression() model.fit(X_train, y_train)>
Modelio numatymas
Šie skaičiavimai paprastai pateikia įvairių sprendimo slenksčių tikslumo ir atšaukimo vertes, kurias galite naudoti norėdami nubrėžti tikslumo ir atkūrimo kreivę arba ištirti santykinę tikslumo ir atšaukimo svarbą įvairiais laiko momentais. Ir apskaičiuojant Plotas po kreive (AUC) tikslumo-atsišaukimo kreivei.
Python3 # Predict probabilities for positive class y_scores = model.predict_proba(X_test)[:, 1] # Calculate precision and recall precision, recall, thresholds = precision_recall_curve(y_test, y_scores) # Calculate Area Under the Curve (AUC) for precision-recall curve auc_score = auc(recall, precision)>
PR kreivės braižymas
Šis kodo blokas suteikia standartinį metodą, skirtą vizualizuoti tikslumo ir atšaukimo kreivę, ir leidžia įvertinti tikslumo ir atšaukimo kompromisą esant įvairioms sprendimo slenksčiams. Bendras modelio veikimas tikslumo atminimo kreivėje apibendrinamas AUC balu, parodytu legendoje.
Python3 # Plot precision-recall curve plt.figure(figsize=(8, 6)) plt.plot(recall, precision, label=f'Precision-Recall Curve (AUC = {auc_score:.2f})') plt.xlabel('Recall') plt.ylabel('Precision') plt.title('Precision-Recall Curve') plt.legend() plt.show()>
Išvestis :

Tikslumo-atsišaukimo kreivė
Dažnai užduodami klausimai (DUK)
K. Kas yra tikslumas?
Tiksliai numatytų teigiamų stebėjimų santykis su bendru numatomų teigiamų stebėjimų skaičiumi yra žinomas kaip tikslumas. Jis įvertina, kaip gerai modelis numato teigiamus rezultatus. Toliau pateikiama tikslumo formulė:
Precision = frac{True Positives}{True Positives + False Positives}
K. Kas yra Prisiminimas?
Prisiminimas yra teisingai numatytų teigiamų stebėjimų ir bendro faktinių teigiamų stebėjimų skaičiaus santykis. Jis taip pat vadinamas jautrumu arba tikru teigiamu rodikliu. Jis įvertina, kaip gerai modelis gali užfiksuoti kiekvieną atitinkamą atvejį. Atšaukimas apskaičiuojamas pagal šią formulę:
Precision = frac{True Positives}{True Positives + False Negatives}
Kl. Kodėl mums reikia tikslumo ir prisiminimo?
Norint įvertinti klasifikatoriaus veikimą dvejetainės ir kelių klasių klasifikavimo problemose, naudojamos dvi vertinimo metrikos: tikslumas ir atšaukimas. Teigiamas prognozės tikslumas matuojamas tikslumu, o teigiamas prognozės išsamumas – atšaukimu.
formatuoti datą Java
K. Kas yra atšaukimo ir tikslumo kompromisas?
Prisiminimas ir tikslumas dažnai yra kompromisai. Didėjant tikslumui gali nukentėti atsiminimas ir atvirkščiai. Pakeitus teigiamo atvejo identifikavimo juostą, šį kompromisą galima valdyti. Ir atvirkščiai, žemesnė riba lemia mažesnį atšaukimą, bet didesnį tikslumą. Sprendimas tarp atšaukimo ir tikslumo yra pagrįstas konkrečios problemos detalėmis.
K. Kas yra F1 rezultatas ir kaip jis susijęs su tikslumu ir atsiminimu?
Harmoninis prisiminimo ir tikslumo vidurkis yra žinomas kaip F1 balas. Jis siūlo teisingą matavimą, kuriame atsižvelgiama ir į klaidingus teigiamus, ir į klaidingus neigiamus rezultatus. F1 balas apskaičiuojamas pagal šią formulę:
F1-Score = frac{2 imes Precision imes Recall}{Precision + Recall} F1 rezultatas yra ypač naudingas, kai tikslumas ir prisiminimas yra nesubalansuoti ir norima pusiausvyros tarp šių dviejų.