Hi ha moltes maneres d'avaluar el rendiment d'un classificador. En aquest article, introduïm la corba de record de precisió i examinem encara més la diferència entre dos mètodes populars d'informes de rendiment: la corba de record de precisió (PR) i Característica de funcionament del receptor (ROC) Corba. La corba ROC ja es parla a la article . Entendrem breument què és una corba de precisió-record.
Què és la precisió i el record?
Precisió
- La proporció d'observacions positives predites correctament amb tots els positius predits es coneix com a precisió.
- Avalua com de bé el model preveu els resultats positius.
- La fórmula de precisió és:
- La precisió es refereix a la qualitat de les prediccions positives. Una alta precisió indica que el model té una baixa taxa de falsos positius.
Recorda
- La relació entre les observacions positives predites correctament i el nombre total d'observacions positives reals es coneix com a record.
- Avalua com de bé el model pot capturar cada instància pertinent.
- El record es calcula mitjançant aquesta fórmula:
- El record es refereix a la quantitat d'instàncies rellevants capturades pel model. Un record elevat indica que el model té una baixa taxa de falsos negatius.
Pel que fa a la interpretació empírica, una matriu de confusió que inclou quatre termes essencials és l'eina més útil per comprendre la precisió i recordar:
- Veritable positiu (TP): el nombre d'instàncies de classe positives que s'identifiquen amb precisió
- Fals positius (FP): el nombre d'instàncies de classe negatives que s'identifiquen per error com a instàncies de classe positives es coneix com a fals positius (FP).
- Veritable negatiu (TN): el nombre d'instàncies de classe negativa que s'identifiquen amb precisió
- Fals negatiu (FN): recompte d'instàncies de classe positives que s'han classificat per error com a instàncies de classe negatives (fals negatiu o FN)
Corba de recordatori de precisió (PR) en aprenentatge automàtic
Precisió és la proporció de correcte classificacions positives (veritables positives) dividides pel nombre total de predit classificacions positives que es van fer (vertader positiu + fals positiu). Recorda és la proporció de correcte classificacions positives (veritables positives) dividides pel nombre total de les veritablement classificacions positives (vertader positiu + fals negatiu).
Una corba PR és simplement un gràfic amb valors de precisió a l'eix y i valors de record a l'eix x. En altres paraules, la corba PR conté
- És important tenir en compte que la precisió també s'anomena valor predictiu positiu (PPV).
- El record també s'anomena Sensibilitat, Taxa d'èxit o Taxa Veritable Positiva (TPR).
La figura següent mostra una comparació de les corbes PR i ROC de mostra.
Interpretació d'una corba de precisió-record
Es desitja que l'algoritme tingui una alta precisió i un alt record. No obstant això, la majoria dels algorismes d'aprenentatge automàtic sovint impliquen una compensació entre els dos. Una bona corba de PR té més AUC (àrea sota la corba) . A la figura anterior, el classificador corresponent a la línia blava té un millor rendiment que el classificador corresponent a la línia verda. És important tenir en compte que el classificador que té un AUC més alt al corba ROC també tindrà sempre un AUC més alt a la corba PR. Penseu en un algorisme que classifica si un document pertany o no a la categoria Notícies esportives. Suposem que hi ha 12 documents, amb les etiquetes de classe de sortida del classificador i de la veritat bàsica (real) següents.
ID del document | La veritat terrestre | Sortida del classificador |
---|---|---|
D1 | Esports | Esports |
D2 | Esports | Esports |
D3 | No esports | Esports |
D4 | Esports | No esports |
D5 | No esports | No esports |
D6 | Esports | No esports |
D7 | No esports | Esports |
D8 | No esports | No esports |
D9 | No esports | No esports |
D10 | Esports | Esports |
D11 | Esports | Esports |
D12 | Esports | No esports |
Ara, anem a trobar els valors TP, TN, FP i FN.
Utilitzem un exemple que inclou documents classificats com a esports o no esportius per explicar millor les definicions de veritables positius (TP), veritables negatius (TN), falsos positius (FP) i falsos negatius (FN) en el context de la classificació:
Veritables positius (TP): Documents que estaven categoritzats amb precisió com a Esports i que de fet tractaven d'esports. Els documents D1, D2, D10 i D11 en aquest escenari són instàncies de TP.
Veritables negatius (TN): Els veritables negatius són aquells casos en què el document s'ha etiquetat adequadament com a No esports tot i que no tenia res a veure amb l'esport. En aquest cas, TN es demostra amb els documents D5, D8 i D9.
Falsos positius (FP): Documents que es van catalogar erròniament com a Esports tot i que no tenien res a veure amb l'esport. Aquí teniu alguns exemples de FP, documents D3 i D7.
Falsos negatius (FN): Exemples de documents que es van etiquetar erròniament com a No esports, però que, en realitat, tractaven d'esports. Els documents D4, D6 i D12 en aquest cas són exemples de FN.
Tenint en compte aquests recomptes: ciutat =4, TN =3, FP =2, FN =3
Finalment, la precisió i el record es calculen de la següent manera:
Precision = frac{TP}{TP+FP} = frac{4}{6} = frac{2}{3} unió de cadena java
Recall = frac{TP}{TP+FN} = frac{4}{7} Es dedueix que el record és de 4/7 quan la precisió és de 2/3. Dit d'una altra manera, de tots els casos que es preveia que eren positius, dos terços es van classificar amb precisió (precisió), i de tots els casos que eren realment positius, el model va poder capturar-ne quatre setenes (record).
En establir diferents llindars, obtenim múltiples parells de precisió i record. En representar múltiples parells de P-R amb qualsevol valor que oscil·la entre 0 i 1, obtenim una corba PR.
Necessites una corba PR quan existeix la corba ROC?
La corba PR és especialment útil per informar dels resultats de la recuperació d'informació.
La recuperació d'informació consisteix a cercar un conjunt de documents per trobar-ne els que siguin rellevants per a una consulta concreta d'un usuari. Per exemple, suposem que l'usuari introdueix una consulta de cerca Pink Elephants. El motor de cerca explora milions de documents (utilitzant alguns algorismes optimitzats) per recuperar un grapat de documents rellevants. Per tant, podem suposar amb seguretat que el no. de documents rellevants serà molt menor en comparació amb el núm. de documents no rellevants.
En aquest escenari,
- TP = Nombre de documents recuperats que són rellevants (bons resultats).
- FP = Nombre de documents recuperats que no són rellevants (resultats de cerca falsos).
- TN = Nombre de documents no recuperats que no són rellevants.
- FN = Nombre de documents no recuperats que són rellevants (bons documents que hem perdut).
La corba ROC és una gràfica que conté Recall = TPR =
A més, FPR no ens ajuda a avaluar bé un sistema de recuperació perquè volem centrar-nos més en els documents recuperats, i no en els no recuperats. La corba PR ajuda a resoldre aquest problema. La corba PR té el valor de record (TPR) a l'eix x i la precisió =
Quan utilitzar les corbes ROC vs. Precision-Recall?
ROC Les corbes (Característica de funcionament del receptor) són adequades quan la distribució de classes és equilibrada, i els falsos positius i els falsos negatius tenen conseqüències similars. Representen el compromís entre sensibilitat i especificitat. En canvi, les corbes Precision-Recall són preferibles quan es tracten conjunts de dades desequilibrats, centrant-se en el rendiment de predicció de classe positiu.
Precision-Recall proporciona informació sobre la capacitat del model per classificar correctament els casos positius. Escollir entre ROC i Precision-Recall depèn de les necessitats específiques del problema, destacant la importància d'entendre la distribució de les dades i les conseqüències dels diferents tipus d'errors.
Implementació de codi bàsic per a la corba de recordació de precisió
Importació de les biblioteques necessàries
Aquestes línies de codi importen el fitxer Biblioteques Python i mòduls necessaris per generar una corba de record de precisió amb sci-kit-learn i visualitzeu els resultats amb Matplotlib . Matplotlib és una popular biblioteca de traçat de Python, i pyplot proporciona una interfície senzilla per crear diversos tipus de gràfics i gràfics. Regressió logística és un algorisme de classificació popular per a tasques de classificació binària i multiclasse. La corba de record de precisió i l'AUC són mètriques d'avaluació populars classificació binària problemes, especialment quan es tracta de conjunts de dades desequilibrats.
Python 3 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>
Conjunt de dades utilitzat
Aquest codi genera un conjunt de dades sintètics per a un problema de classificació binària mitjançant la funció 'make_classification' de sci-kit-learn.
Python 3 # Generate a synthetic dataset X, y = make_classification( n_samples=1000, n_features=20, n_classes=2, random_state=42)>
Entrena i prova Split
El tren_test_split La funció de scikit-learn s'utilitza en aquest fragment de codi per dividir el conjunt de dades sintètics generat anteriorment (X i y) en conjunts d'entrenament i de prova. Aquesta divisió és un pas crític en l'avaluació dels models d'aprenentatge automàtic. El model s'entrenarà amb les dades X_train i y_train abans de provar-lo amb les dades X_test i y_test per veure com funciona amb mostres no vistes. La funció train_test_split separa els conjunts d'entrenament i de proves, assegurant que el rendiment del model reflecteixi la seva generalització a dades noves i no vistes anteriorment.
Python 3 # 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)>
Construcció de maquetes
Aquí estem utilitzant la regressió logística per entrenar el model en el conjunt de dades d'entrenament. Un algorisme popular per a la classificació binària, la regressió logística és implementada per la classe sci-kit-learn LogisticRegression.
Python 3 # Train a logistic regression model (you can replace this with your own classifier) model = LogisticRegression() model.fit(X_train, y_train)>
Predicció del model
Aquests càlculs solen donar valors de precisió i record per a diversos llindars de decisió, que podeu utilitzar per dibuixar una corba de precisió-record o examinar la importància relativa de la precisió i la recuperació en diversos moments del temps. I calculant el Àrea sota la corba (AUC) per a la corba de precisió-record.
Python 3 # 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)>
Representació de la corba de PR
Aquest bloc de codi proporciona un mètode estàndard per visualitzar la corba de record de precisió i us permet avaluar la compensació entre precisió i record en diversos llindars de decisió. El rendiment global del model a la corba de record de precisió es resumeix amb la puntuació AUC que es mostra a la llegenda.
Python 3 # 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()>
Sortida :

Corba de precisió-record
Preguntes freqüents (FAQ)
P. Què és la precisió?
La relació entre les observacions positives predites amb precisió i el nombre total de positius predits es coneix com a precisió. Avalua fins a quin punt el model prediu els resultats positius. La següent és la fórmula de precisió:
Precision = frac{True Positives}{True Positives + False Positives}
P. Què és Recall?
El record és la relació entre les observacions positives predites correctament i el nombre total de positives reals. També es coneix com a sensibilitat o taxa positiva veritable. Avalua com de bé el model pot capturar cada instància pertinent. El record es calcula mitjançant la fórmula següent:
com utilitzar mysql workbench
Precision = frac{True Positives}{True Positives + False Negatives}
P. Per què necessitem precisió i record?
Per avaluar el rendiment d'un classificador en problemes de classificació binaris i multiclasse, s'utilitzen dues mètriques d'avaluació: precisió i record. La precisió de la predicció positiva es mesura per la precisió i la integritat de la predicció positiva es mesura per la memòria.
P. Quina és la compensació entre record i precisió?
El record i la precisió solen ser intercanvis. El record pot patir a mesura que augmenta la precisió, i viceversa. Si canvieu la barra per identificar una instància positiva, es pot gestionar aquesta compensació. Per contra, un llindar més baix provoca una memòria més baixa però una precisió més alta. La decisió entre el record i la precisió es basa en els detalls del problema donat.
P. Què és la puntuació de la F1 i com es relaciona amb la precisió i la memòria?
La mitjana harmònica de record i precisió es coneix com a puntuació F1. Ofereix una mesura justa que té en compte tant els falsos positius com els falsos negatius. La puntuació F1 es calcula mitjançant la fórmula següent:
F1-Score = frac{2 imes Precision imes Recall}{Precision + Recall} La puntuació de la F1 és especialment útil quan la precisió i la memòria estan desequilibrades i es desitja un equilibri entre ambdues.