In , we hebben meestal 2 verschillende soorten gebruiksscenario's, , en probleem. Confusion Matrix helpt bij het berekenen van de nauwkeurigheid van het classificatiemodel, wat ons indirect helpt om de prestaties van het classificatiemodel te beschrijven. Het is de belangrijkste stap als het gaat om het evalueren van een model. Ik behandel de volgende onderwerpen in dit artikel:
1. Wat is een verwarringmatrix?
2. Nauwkeurigheid en componenten van verwarringmatrix
3. Precisie, terugroepen en F-maat
wat is methode verbergen in java
4. Een verwarringmatrix maken door Python en Sklearn te gebruiken
Wat is een verwarringmatrix?
Een verwarringmatrix is de vergelijkende samenvatting van de voorspelde resultaten en de daadwerkelijke resultaten in elk gebruiksscenario van classificatieproblemen. De vergelijkingssamenvatting is uiterst noodzakelijk om de prestaties van het model te bepalen nadat het met enkele trainingsgegevens is getraind. Voor een use-case met binaire classificatie is een verwarringmatrix een 2 × 2-matrix zoals hieronder wordt weergegevenVoorspelde Klasse 1-waarde EG: 1 | Voorspelde Klasse 2-waarde EG: 0 | |
Werkelijke Klasse 1-waarde EG: 1 | TP (True Positive) | FN (fout-negatief) |
Werkelijke Klasse 2-waarde EG: 0 | FP (vals positief) | TN (True Negative) |
Van de bovenstaande afbeelding:
Wij hebben,
- Werkelijke Klasse 1-waarde = 1 die vergelijkbaar is met Positieve waarde in een binaire uitkomst.
- Werkelijke Klasse 2-waarde = 0, wat vergelijkbaar is met een negatieve waarde in binaire uitkomst.
De linker index van de verwarringmatrix geeft in feite de werkelijke waarden aan en de bovenste kolom geeft de voorspelde waarden aan.
Er zijn verschillende componenten die bestaan wanneer we een verwarringmatrix creëren. De componenten worden hieronder genoemd
Positief (P): Het voorspelde resultaat is positief (voorbeeld: afbeelding is een kat)
Negatief (N): het voorspelde resultaat is negatief (voorbeeld: afbeeldingen is geen kat)
Echt positief (TP): Hier geeft TP in feite de voorspelde waarden aan en de werkelijke waarden zijn 1 (waar)
Echt negatief (TN): Hier geeft TN de voorspelde waarde aan en de werkelijke waarde is 0 (False)
Fout-negatief (FN): Hier geeft FN aan dat de voorspelde waarde 0 (negatief) is en de werkelijke waarde 1. Hier komen beide waarden niet overeen. Daarom is het vals negatief.
Vals positief (FP): Hier geeft FP aan dat de voorspelde waarde 1 (positief) is en de werkelijke waarde 0 is. Ook hier komen beide waarden niet overeen. Daarom is het vals positief.
Nauwkeurigheid en componenten van verwarringmatrix
Nadat de verwarringmatrix is gemaakt en we alle componentenwaarden hebben bepaald, wordt het voor ons vrij eenvoudig om de nauwkeurigheid te berekenen. Dus laten we de componenten eens bekijken om dit beter te begrijpen.- Classificatienauwkeurigheid
Uit de bovenstaande formule zijn de som van TP (True Positive) en de TN (True Negative) de juiste voorspelde resultaten. Daarom delen we met alle andere componenten om de nauwkeurigheid in procenten te berekenen. Er zijn echter enkele problemen met de nauwkeurigheid en we kunnen er niet volledig op vertrouwen.
Laten we bedenken dat onze dataset volledig uit balans is. In dit scenario kan een nauwkeurigheid van 98% goed of slecht zijn op basis van de probleemstelling. Daarom hebben we nog enkele belangrijke termen die ons zullen helpen zeker te zijn van de nauwkeurigheid die we berekenen. De voorwaarden zijn zoals hieronder weergegeven:
- TPR (True Positive Rate) of gevoeligheid:
Het percentage waar-positief, ook wel bekend als gevoeligheid, meet het percentage van het ware positieve ten opzichte van het totale aantal werkelijke positieven dat wordt aangegeven door (TP + FN)
Voorspelde Klasse 1-waarde EG: 1 | Voorspelde Klasse 2-waarde EG: 0 | Totaal | |
Werkelijke Klasse 1-waardesorteermatrix c ++ oplopend EG: 1 | TP (True Positive) | FN (fout-negatief) | Totaal aantal werkelijke positieven |
Werkelijke Klasse 2-waarde EG: 0 | FP (vals positief) | TN (True Negative) | Totaal aantal werkelijke negatieven |
- TNR (True Negative Rate) of specificiteit:
True Negative Rate of Specificity meet het aandeel van de werkelijke negatieven ten opzichte van het totale aantal negatieven
Voorspelde Klasse 1-waarde EG: 1 | Voorspelde Klasse 2-waarde EG: 0 | Totaal | |
Werkelijke Klasse 1-waarde EG: 1 | TP (True Positive) | FN (fout-negatief) | Totaal aantal werkelijke positieven |
Werkelijke Klasse 2-waarde EG: 0 | FP (vals positief) | TN (True Negative) | Totaal aantal werkelijke negatieven |
TNR = True Negative / (True Negative + False Positive)
- Fout-positief percentage (FPR):
Percentage fout-positief is het percentage van voorspelde fout-positieve resultaten (FP + FP) ten opzichte van het totale aantal voorspelde positieve resultaten (TP + FP).
Voorspelde Klasse 1-waarde EG: 1 | Voorspelde Klasse 2-waarde EG: 0 | |
Werkelijke Klasse 1 Waarde EG: 1 | TP (True Positive) | FN (fout-negatief) |
Werkelijke Klasse 2 Waarde EG: 0 | FP (vals positief) | TN (True Negative) |
Som van totaal voorspeld positief | Som van totaal voorspeld negatief |
- Fout-negatief tarief (FNR):
Percentage fout-negatief is het percentage voorspelde fout-negatieve (FP) ten opzichte van het totale aantal voorspelde negatieve resultaten (TN + FN).
Precisie, terugroepen en F-maat
- Terugroepen:
Een terugroepactie is vergelijkbaar met de True Positive Rate en het is de verhouding tussen het totale aantal correct voorspelde positieve waarden (TP) en alle positieve waarden.
- Precisie:
De precisie geeft in feite alle punten aan waarvan het model voorspelde dat ze positief waren en welk percentage daarvan daadwerkelijk positief is.
Precisie en terugroepen zijn meetresultaten die zich richten op de positieve klasse, zoals blijkt uit de bovenstaande formules.
- F-maat
F-Measure is dus een techniek die zowel de Precision- als de Recall-techniek combineert en die Harmonic Mean gebruikt in plaats van het gebruikelijke rekenkundige gemiddelde, waardoor de extreme waarden worden bestraft. De F-maat wordt ook wel F1-score genoemd en wordt gegeven door de onderstaande formule.
Laten we een voorbeeld bekijken en kijken hoe we de nauwkeurigheid, precisie, terugroepactie en de F1-score kunnen berekenen.
N = 165 | Voorspeld JA | Voorspelde NEE |
Werkelijk JA | TP = 150 | FN = 10 |
Huidige NO | FP = 20 | TN = 100 |
- Nauwkeurigheid = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
- Recall = TP / (TP + FN) = 150 / (150 + 10) = 0.93
- Precisie: TP / (TP + FP) = 150 / (150 + 20) = 0,88
- F-maat = (2 * Recall * Precision) / (Recall + Presision) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90
Een verwarringmatrix maken door Python en Sklearn te gebruiken
Nu zullen we een voorbeeld zien van hoe we een verwarringmatrix kunnen maken door python samen met de sklearn-bibliotheek te gebruiken.
een. In eerste instantie zullen we een lijst maken met de werkelijke gegevens en de voorspelde gegevens om de nauwkeurigheid te controleren, zoals hieronder wordt weergegeven
# Python-script voor het maken van verwarringmatrixen. actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]
2. We moeten de verwarringmatrix uit de sklearn-bibliotheek importeren, zoals hieronder wordt weergegeven:
van sklearn.metrics importeer confusion_matrix
3. Vervolgens maken we de verwarringmatrix zoals hieronder weergegeven:
final_results = confusion_matrix (actuele_gegevens, voorspelde_gegevens)
Vier. Nu kunnen we doorgaan en de nauwkeurigheid berekenen door de bibliotheek te importeren zoals hieronder weergegeven:
wat is datavisualisatie in tableau
van sklearn.metrics import nauwkeurigheid_score nauwkeurigheid = nauwkeurigheid_score (actual_data, voorspelde_data)
5. Ten slotte berekenen we de F1-score of F-maat zoals hieronder weergegeven:
van sklearn.metrics import classificatie_rapport rapport = classificatie_rapport (actuele_gegevens, voorspelde_gegevens)
Hieronder staat de volledige code:
actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] van sklearn.metrics import confusion_matrix final_results = confusion_matrix (actual_data, predicted_data) print (final_results) van sklearn.metrics import accuratesse_score accuratesse = accuratesse (actuele_data, predicted_data) uit sklearn.metrics import classificatierapport rapport = classificatie_rapport ( actual_data, predicted_data) print (nauwkeurigheid) print (rapport)
Hiermee komen we aan het einde van dit artikel. Ik hoop dat al uw verwarring over de verwarringmatrix nu is opgelost.
Edureka's helpt u bij het verwerven van expertise in verschillende algoritmen voor machine learning, zoals regressie, clustering, beslissingsbomen, willekeurig bos, Naïve Bayes en Q-Learning. Deze Machine Learning met behulp van Python Training stelt je bloot aan concepten van Statistieken, Tijdreeksen en verschillende klassen van algoritmen voor machine learning, zoals algoritmen onder toezicht, zonder toezicht en versterkingsalgoritmen. Tijdens de cursus Data Science-certificering lost u praktijkvoorbeelden op over media, gezondheidszorg, sociale media, luchtvaart en HR.