Confusion Matrix στη Μηχανική Εκμάθηση: Η λύση μιας στάσης



Αυτό το άρθρο επικεντρώνεται στο Confusion Matrix, το οποίο είναι μια από τις πιο σημαντικές πτυχές οποιουδήποτε αλγόριθμου μηχανικής εκμάθησης που χρησιμοποιείται για την αξιολόγηση της ακρίβειας του.

Σε , συνήθως έχουμε 2 διαφορετικούς τύπους περιπτώσεων χρήσης, , και πρόβλημα. Το Confusion Matrix βοηθά στον υπολογισμό της ακρίβειας του μοντέλου ταξινόμησης που μας βοηθά έμμεσα να περιγράψουμε την απόδοση του μοντέλου ταξινόμησης. Είναι το πιο σημαντικό βήμα για την αξιολόγηση ενός μοντέλου. Θα καλύψω τα ακόλουθα θέματα σε αυτό το άρθρο:

1. Τι είναι ένας πίνακας σύγχυσης;





2. Ακρίβεια και στοιχεία του πίνακα σύγχυσης

3. Ακρίβεια, ανάκληση και μέτρηση F



4. Δημιουργία ενός πίνακα σύγχυσης χρησιμοποιώντας Python και Sklearn

Τι είναι ένας πίνακας σύγχυσης;

Ένας πίνακας σύγχυσης είναι η περίληψη σύγκρισης των προβλεπόμενων αποτελεσμάτων και των πραγματικών αποτελεσμάτων σε οποιαδήποτε περίπτωση χρήσης προβλήματος ταξινόμησης. Η περίληψη σύγκρισης είναι εξαιρετικά απαραίτητη για τον προσδιορισμό της απόδοσης του μοντέλου μετά την εκπαίδευσή του με ορισμένα δεδομένα εκπαίδευσης. Accuracy-Confusion-MatrixΓια μια περίπτωση χρήσης δυαδικής ταξινόμησης, ένα Confusion Matrix είναι ένας πίνακας 2 × 2, όπως φαίνεται παρακάτω
Προβλεπόμενη τιμή κλάσης 1 Π.χ .: 1 Προβλεπόμενη τιμή κλάσης 2 Π.χ .: 0
Πραγματική τιμή κλάσης 1

Π.χ .: 1

TP (Αληθινό θετικό) FN (Ψευδές αρνητικό)
Πραγματική τιμή κλάσης 2



Π.χ .: 0

FP (Ψευδώς θετικό) TN (True Negative)

Από το παραπάνω σχήμα:
Εχουμε,

διαφορά μεταξύ java και τάξης
  • Πραγματική τιμή κλάσης 1 = 1 που είναι παρόμοια με τη θετική τιμή σε δυαδικό αποτέλεσμα.
  • Πραγματική τιμή κλάσης 2 = 0 που είναι παρόμοια με μια αρνητική τιμή στο δυαδικό αποτέλεσμα.

Ο αριστερός δείκτης του πίνακα σύγχυσης υποδεικνύει βασικά τις Πραγματικές Τιμές και η επάνω στήλη δείχνει τις Προβλεπόμενες Τιμές.

Υπάρχουν διάφορα στοιχεία που υπάρχουν όταν δημιουργούμε έναν πίνακα σύγχυσης. Τα συστατικά αναφέρονται παρακάτω

Θετικό (P): Το προβλεπόμενο αποτέλεσμα είναι θετικό (Παράδειγμα: Η εικόνα είναι μια γάτα)

Αρνητικό (N): το προβλεπόμενο αποτέλεσμα είναι αρνητικό (Παράδειγμα: Οι εικόνες δεν είναι γάτα)

Αληθινό θετικό (TP): Εδώ το TP βασικά υποδεικνύει τις προβλεπόμενες και οι πραγματικές τιμές είναι 1 (True)

True Negative (TN): Εδώ το TN υποδεικνύει την προβλεπόμενη και η πραγματική τιμή είναι 0 (False)

False Negative (FN): Εδώ το FN δείχνει ότι η προβλεπόμενη τιμή είναι 0 (Αρνητική) και η πραγματική τιμή είναι 1. Εδώ και οι δύο τιμές δεν ταιριάζουν. Ως εκ τούτου, είναι ψευδώς αρνητικό.

Ψευδώς θετικό (FP): Εδώ το FP δείχνει ότι η προβλεπόμενη τιμή είναι 1 (Θετική) και η πραγματική τιμή είναι 0. Εδώ και πάλι και οι δύο τιμές αναντιστοιχούν. Ως εκ τούτου, είναι ψευδώς θετικό.

Ακρίβεια και συστατικά του πίνακα σύγχυσης

Μετά τη δημιουργία του πίνακα σύγχυσης και προσδιορίζουμε όλες τις τιμές των συστατικών, γίνεται πολύ εύκολο για εμάς να υπολογίσουμε την ακρίβεια. Ας ρίξουμε μια ματιά στα συστατικά για να το κατανοήσουμε καλύτερα.
  • Ακρίβεια ταξινόμησης

Από τον παραπάνω τύπο, το άθροισμα των TP (True Positive) και το TN (True Negative) είναι τα σωστά προβλεπόμενα αποτελέσματα. Ως εκ τούτου, για να υπολογίσουμε την ακρίβεια σε ποσοστό, διαιρούμε με όλα τα άλλα στοιχεία. Ωστόσο, υπάρχουν ορισμένα προβλήματα στην ακρίβεια και δεν μπορούμε να βασιστούμε εντελώς σε αυτήν.

Ας θεωρήσουμε ότι το σύνολο δεδομένων μας είναι εντελώς ανισορροπημένο. Σε αυτό το σενάριο, η ακρίβεια 98% μπορεί να είναι καλή ή κακή με βάση τη δήλωση προβλήματος. Ως εκ τούτου έχουμε μερικούς πιο βασικούς όρους που θα μας βοηθήσουν να είμαστε σίγουροι για την ακρίβεια που υπολογίζουμε. Οι όροι έχουν ως εξής:

  • TPR (True Positive Rate) ή ευαισθησία:

Ο πραγματικός θετικός ρυθμός που είναι επίσης γνωστός ως ευαισθησία μετρά το ποσοστό του True Positive σε σχέση με το σύνολο των πραγματικών θετικών που υποδεικνύεται από (TP + FN)

Προβλεπόμενη τιμή κλάσης 1 Π.χ .: 1 Προβλεπόμενη τιμή κλάσης 2 Π.χ .: 0 Σύνολο
Πραγματική τιμή κλάσης 1

Π.χ .: 1

TP (Αληθινό θετικό) FN (Ψευδές αρνητικό) Σύνολο πραγματικών θετικών
Πραγματική τιμή κλάσης 2

Π.χ .: 0

FP (Ψευδώς θετικό)TN (True Negative)Σύνολο πραγματικών αρνητικών
TPR = True Positive / (True Positive + False Negative)
  • TNR (True Negative Rate) ή ειδικότητα:

Ο πραγματικός αρνητικός ρυθμός ή η ειδικότητα μετρά το ποσοστό των πραγματικών αρνητικών σε σχέση με τα συνολικά αρνητικά

def __init __ (αυτο):
Προβλεπόμενη τιμή κλάσης 1 Π.χ .: 1 Προβλεπόμενη τιμή κλάσης 2 Π.χ .: 0 Σύνολο
Πραγματική τιμή κλάσης 1

Π.χ .: 1

TP (Αληθινό θετικό)FN (Ψευδές αρνητικό)Σύνολο πραγματικών θετικών
Πραγματική τιμή κλάσης 2

Π.χ .: 0

FP (Ψευδώς θετικό) TN (True Negative) Σύνολο πραγματικών αρνητικών

TNR = True Negative / (True Negative + False positif)

  • Ψευδώς θετικό ποσοστό (FPR):

Το False Positive Rate είναι το ποσοστό των προβλεπόμενων ψευδώς θετικών (FP) προς το συνολικό αριθμό των προβλεπόμενων θετικών αποτελεσμάτων (TP + FP).

Προβλεπόμενη τιμή κλάσης 1 Π.χ .: 1 Προβλεπόμενη τιμή κλάσης 2 Π.χ .: 0
Πραγματική τιμή κλάσης 1 EG: 1 TP (Αληθινό θετικό) FN (Ψευδές αρνητικό)
Πραγματική τιμή κλάσης 2 EG: 0 FP (Ψευδώς θετικό) TN (True Negative)
Άθροισμα του συνολικού προβλεπόμενου θετικού Άθροισμα του συνολικού προβλεπόμενου αρνητικού
FPR = Λάθος θετικό / (Αληθινό θετικό + Λάθος θετικό)
  • Ψευδές αρνητικό ποσοστό (FNR):

False Negative Rate είναι το ποσοστό των προβλεπόμενων False Negative (FP) στο συνολικό αριθμό των προβλεπόμενων αρνητικών αποτελεσμάτων (TN + FN).

Προβλεπόμενη τιμή κλάσης 1 Π.χ .: 1 Προβλεπόμενη τιμή κλάσης 2 Π.χ .: 0
Πραγματική τιμή κλάσης 1 EG: 1TP (Αληθινό θετικό) FN (Ψευδές αρνητικό)
Πραγματική τιμή κλάσης 2 EG: 0FP (Ψευδώς θετικό) TN (True Negative)
Άθροισμα του συνολικού προβλεπόμενου θετικού Άθροισμα του συνολικού προβλεπόμενου αρνητικού
FNR = False Negative / (False Negative + True αρνητικό)

Ακρίβεια, ανάκληση και μέτρηση F

  • Ανάκληση:

Η ανάκληση είναι παρόμοια με το True Positive Rate και είναι η αναλογία του συνολικού αριθμού των σωστά προβλεπόμενων θετικών τιμών (TP) προς όλες τις θετικές τιμές.

  • Ακρίβεια:

Το Precision βασικά υποδεικνύει όλα τα σημεία που το μοντέλο προέβλεπε ότι είναι θετικά και ποιο ποσοστό από αυτά είναι πραγματικά θετικά.

Η ακρίβεια και η ανάκληση είναι αποτελέσματα μετρήσεων που εστιάζουν στη θετική τάξη όπως φαίνεται από τους παραπάνω τύπους.

  • F-μέτρο

Έτσι, το F-Measure είναι μια τεχνική που συνδυάζει τόσο την τεχνική ακριβείας όσο και την ανάκληση και χρησιμοποιεί την αρμονική μέση στη θέση του συνηθισμένου αριθμητικού μέσου, λόγω της τιμωρίας των ακραίων τιμών. Το μέτρο F ονομάζεται επίσης βαθμολογία F1 και δίνεται από τον παρακάτω τύπο.

Τι είναι η δυαδική αναζήτηση στην Java

Ας εξετάσουμε ένα παράδειγμα και να δούμε πώς μπορούμε να υπολογίσουμε την ακρίβεια, την ακρίβεια, την ανάκληση και τη βαθμολογία F1.

Ν = 165 Προβλεπόμενο ΝΑΙ Προβλεπόμενο ΟΧΙ
Πραγματικό ΝΑΙ TP = 150 FN = 10
Τρέχουσα ΟΧΙ FP = 20 TN = 100
    • Ακρίβεια = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
    • Ανάκληση = TP / (TP + FN) = 150 / (150 + 10) = 0,93
    • Ακρίβεια: TP / (TP + FP) = 150 / (150 + 20) = 0,88

  • F-μέτρο = (2 * Recall * Precision) / (Recall + Presision) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90

Δημιουργία ενός πίνακα σύγχυσης χρησιμοποιώντας Python και Sklearn

Τώρα θα δούμε ένα παράδειγμα για το πώς μπορούμε να δημιουργήσουμε έναν πίνακα σύγχυσης χρησιμοποιώντας το python μαζί με τη βιβλιοθήκη sklearn.

ένας. Αρχικά, θα δημιουργήσουμε κάποια λίστα με τα πραγματικά δεδομένα και τα προβλεπόμενα για έλεγχο της ακρίβειας όπως φαίνεται παρακάτω

# Σενάριο Python για δημιουργία πίνακα σύγχυσης. sebenarnya_δεδομένα = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicated_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Πρέπει να εισαγάγουμε τον πίνακα σύγχυσης από τη βιβλιοθήκη sklearn όπως φαίνεται παρακάτω:

από το sklearn.metrics import confusion_matrix

3. Στη συνέχεια, θα δημιουργήσουμε τον πίνακα σύγχυσης όπως φαίνεται παρακάτω:

final_results = confusion_matrix (πραγματικά_δεδομένα, προβλεπόμενα_δεδομένα)

Τέσσερα. Τώρα μπορούμε να προχωρήσουμε και να υπολογίσουμε την ακρίβεια εισάγοντας τη βιβλιοθήκη όπως φαίνεται παρακάτω:

από sklearn.metrics εισαγωγή ακρίβειας_ακρίβεια σκορ = ακρίβεια_ βαθμολογία (πραγματικά_δεδομένα, προβλεπόμενα_δεδομένα)

5. Τέλος, υπολογίζουμε το F1-σκορ ή το F- Μέτρο όπως φαίνεται παρακάτω:

από το sklearn.metrics import classification_report report = classification_report (actual_data, predicted_data)

Ακολουθεί ο πλήρης κωδικός:

sebenarnya_δεδομένα = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicated_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] από το sklearn.metrics import confusion_matrix final_results = confusion_matrix (actual_data, predicted_data) print (final_results) from sklearn.metrics import correct_score correct = correct_score (actual_data, predicted_data) από το sklearn.metrics import classification_report report = classification πραγματική_δεδομένα, προβλεπόμενα_δεδομένα) εκτύπωση (ακρίβεια) εκτύπωση (αναφορά)

matrix

Έτσι, με αυτό, φτάνουμε στο τέλος αυτού του άρθρου. Ελπίζω να έχει πλέον επιλυθεί όλη η Σύγχυση σχετικά με το Confusion Matrix.

Το Edureka's σας βοηθά να αποκτήσετε εμπειρία σε διάφορους αλγόριθμους μηχανικής μάθησης όπως παλινδρόμηση, ομαδοποίηση, δέντρα αποφάσεων, τυχαίο δάσος, Naïve Bayes και Q-Learning. Αυτή η Μηχανική Εκμάθηση που χρησιμοποιεί την Εκπαίδευση Python σας εκθέτει σε έννοιες Στατιστικής, Σειρών Χρόνου και διαφορετικών κατηγοριών αλγορίθμων μηχανικής μάθησης, όπως αλγόριθμους εποπτευόμενων, μη εποπτευόμενων και ενίσχυσης. Καθ 'όλη τη διάρκεια του μαθήματος Πιστοποίησης Επιστήμης Δεδομένων, θα επιλύετε πραγματικές μελέτες περιπτώσεων σε μέσα μαζικής ενημέρωσης, υγειονομική περίθαλψη, κοινωνικά μέσα, αεροπορία, HR.