Modellbewertung
Aufteilen der Daten
Nachdem ein neuronales Netzwerk trainiert wurde, muss seine Leistung auf unbekannten Daten bewertet werden. Dies hilft zu erkennen, ob das Modell tatsächlich nützliche Muster gelernt hat oder lediglich die Trainingsdaten auswendig gelernt hat. Dazu wird der Datensatz in zwei Teile aufgeteilt:
- Trainingsmenge: Dieser Teil der Daten wird verwendet, um das neuronale Netzwerk zu trainieren. Dabei werden Gewichte und Biases durch Backpropagation angepasst;
- Testmenge: Nach dem Training wird das Modell mit diesem separaten Datensatz bewertet, um zu messen, wie gut es auf neue, unbekannte Beispiele generalisiert.
Eine typische Aufteilung ist 80% Training / 20% Test, dies kann jedoch je nach Größe und Komplexität des Datensatzes variieren.
Das Aufteilen in Trainings- und Testdaten erfolgt üblicherweise mit der Funktion train_test_split() aus dem Modul sklearn.model_selection:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)
Der Parameter test_size gibt den Anteil des Datensatzes an, der als Testmenge verwendet wird. Zum Beispiel bedeutet test_size=0.1, dass 10% der Daten für das Testen verwendet werden, während die verbleibenden 90% für das Training genutzt werden.
Wenn ein Modell auf den Trainingsdaten gute Ergebnisse erzielt, aber auf den Testdaten schlecht abschneidet, liegt möglicherweise ein Overfitting vor. Das bedeutet, dass das Modell die Trainingsdaten auswendig gelernt hat, anstatt verallgemeinerbare Muster zu erkennen. Ziel ist es, eine hohe Testgenauigkeit bei guter Generalisierung zu erreichen.
Nach dem Training des Modells muss die Leistung mit Metriken quantifiziert werden. Die Wahl der Metrik hängt von der jeweiligen Klassifikationsaufgabe ab.
Klassifikationsmetriken
Für Klassifikationsprobleme können verschiedene wichtige Metriken zur Bewertung der Modellvorhersagen verwendet werden:
- Genauigkeit;
- Präzision;
- Recall (Sensitivität);
- F1-Score.
Da ein Perzeptron eine binäre Klassifikation durchführt, hilft die Erstellung einer Konfusionsmatrix, um diese Metriken besser zu verstehen.
Eine Konfusionsmatrix ist eine Tabelle, die die Klassifikationsleistung des Modells zusammenfasst, indem sie die vorhergesagten Labels mit den tatsächlichen Labels vergleicht. Sie liefert Einblicke in die Anzahl der korrekten und inkorrekten Vorhersagen für jede Klasse (1 und 0).
Genauigkeit misst den Anteil der korrekt klassifizierten Beispiele an der Gesamtzahl. Wenn ein Modell 90 von 100 Bildern korrekt klassifiziert, beträgt die Genauigkeit 90%.
accuracy=allcorrect=TP+TN+FP+FNTP+TNObwohl die Genauigkeit nützlich ist, liefert sie nicht immer ein vollständiges Bild—insbesondere bei unausgewogenen Datensätzen. In einem Datensatz, in dem 95% der Beispiele zu einer Klasse gehören, könnte ein Modell eine Genauigkeit von 95% erreichen, indem es immer die Mehrheitsklasse vorhersagt—ohne tatsächlich etwas Sinnvolles zu lernen. In solchen Fällen sind Präzision, Recall oder der F1-Score oft aussagekräftiger.
Präzision ist der Prozentsatz der korrekt vorhergesagten positiven Fälle an allen vorhergesagten Positiven. Diese Kennzahl ist besonders relevant, wenn falsch-positive Ergebnisse kostspielig sind, etwa bei Spam-Erkennung oder Betrugserkennung.
precision=predicted positivecorrect positive=TP+FPTPRecall (Sensitivität) misst, wie viele der tatsächlich positiven Fälle vom Modell korrekt erkannt werden. Ein hoher Recall ist entscheidend in Szenarien, in denen falsch-negative Ergebnisse minimiert werden müssen, beispielsweise bei medizinischen Diagnosen.
recall=all positivecorrect positive=TP+FNTPF1-Score ist das harmonische Mittel von Präzision und Recall und bietet eine ausgewogene Kennzahl, wenn sowohl falsch-positive als auch falsch-negative Ergebnisse relevant sind. Dies ist besonders nützlich bei unausgeglichenen Datensätzen, bei denen eine Klasse deutlich häufiger vorkommt als die andere.
F1=precision+recall2×precision×recall1. Was ist der Hauptzweck der Aufteilung eines Datensatzes in Trainings- und Testdaten?
2. Warum könnte der F1-Score bei einem unausgeglichenen Datensatz der Genauigkeit vorgezogen werden?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain what a confusion matrix is and how to interpret it?
How do I choose which metric to use for my classification problem?
Can you give examples of when to prioritize precision over recall, or vice versa?
Awesome!
Completion rate improved to 4
Modellbewertung
Swipe um das Menü anzuzeigen
Aufteilen der Daten
Nachdem ein neuronales Netzwerk trainiert wurde, muss seine Leistung auf unbekannten Daten bewertet werden. Dies hilft zu erkennen, ob das Modell tatsächlich nützliche Muster gelernt hat oder lediglich die Trainingsdaten auswendig gelernt hat. Dazu wird der Datensatz in zwei Teile aufgeteilt:
- Trainingsmenge: Dieser Teil der Daten wird verwendet, um das neuronale Netzwerk zu trainieren. Dabei werden Gewichte und Biases durch Backpropagation angepasst;
- Testmenge: Nach dem Training wird das Modell mit diesem separaten Datensatz bewertet, um zu messen, wie gut es auf neue, unbekannte Beispiele generalisiert.
Eine typische Aufteilung ist 80% Training / 20% Test, dies kann jedoch je nach Größe und Komplexität des Datensatzes variieren.
Das Aufteilen in Trainings- und Testdaten erfolgt üblicherweise mit der Funktion train_test_split() aus dem Modul sklearn.model_selection:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)
Der Parameter test_size gibt den Anteil des Datensatzes an, der als Testmenge verwendet wird. Zum Beispiel bedeutet test_size=0.1, dass 10% der Daten für das Testen verwendet werden, während die verbleibenden 90% für das Training genutzt werden.
Wenn ein Modell auf den Trainingsdaten gute Ergebnisse erzielt, aber auf den Testdaten schlecht abschneidet, liegt möglicherweise ein Overfitting vor. Das bedeutet, dass das Modell die Trainingsdaten auswendig gelernt hat, anstatt verallgemeinerbare Muster zu erkennen. Ziel ist es, eine hohe Testgenauigkeit bei guter Generalisierung zu erreichen.
Nach dem Training des Modells muss die Leistung mit Metriken quantifiziert werden. Die Wahl der Metrik hängt von der jeweiligen Klassifikationsaufgabe ab.
Klassifikationsmetriken
Für Klassifikationsprobleme können verschiedene wichtige Metriken zur Bewertung der Modellvorhersagen verwendet werden:
- Genauigkeit;
- Präzision;
- Recall (Sensitivität);
- F1-Score.
Da ein Perzeptron eine binäre Klassifikation durchführt, hilft die Erstellung einer Konfusionsmatrix, um diese Metriken besser zu verstehen.
Eine Konfusionsmatrix ist eine Tabelle, die die Klassifikationsleistung des Modells zusammenfasst, indem sie die vorhergesagten Labels mit den tatsächlichen Labels vergleicht. Sie liefert Einblicke in die Anzahl der korrekten und inkorrekten Vorhersagen für jede Klasse (1 und 0).
Genauigkeit misst den Anteil der korrekt klassifizierten Beispiele an der Gesamtzahl. Wenn ein Modell 90 von 100 Bildern korrekt klassifiziert, beträgt die Genauigkeit 90%.
accuracy=allcorrect=TP+TN+FP+FNTP+TNObwohl die Genauigkeit nützlich ist, liefert sie nicht immer ein vollständiges Bild—insbesondere bei unausgewogenen Datensätzen. In einem Datensatz, in dem 95% der Beispiele zu einer Klasse gehören, könnte ein Modell eine Genauigkeit von 95% erreichen, indem es immer die Mehrheitsklasse vorhersagt—ohne tatsächlich etwas Sinnvolles zu lernen. In solchen Fällen sind Präzision, Recall oder der F1-Score oft aussagekräftiger.
Präzision ist der Prozentsatz der korrekt vorhergesagten positiven Fälle an allen vorhergesagten Positiven. Diese Kennzahl ist besonders relevant, wenn falsch-positive Ergebnisse kostspielig sind, etwa bei Spam-Erkennung oder Betrugserkennung.
precision=predicted positivecorrect positive=TP+FPTPRecall (Sensitivität) misst, wie viele der tatsächlich positiven Fälle vom Modell korrekt erkannt werden. Ein hoher Recall ist entscheidend in Szenarien, in denen falsch-negative Ergebnisse minimiert werden müssen, beispielsweise bei medizinischen Diagnosen.
recall=all positivecorrect positive=TP+FNTPF1-Score ist das harmonische Mittel von Präzision und Recall und bietet eine ausgewogene Kennzahl, wenn sowohl falsch-positive als auch falsch-negative Ergebnisse relevant sind. Dies ist besonders nützlich bei unausgeglichenen Datensätzen, bei denen eine Klasse deutlich häufiger vorkommt als die andere.
F1=precision+recall2×precision×recall1. Was ist der Hauptzweck der Aufteilung eines Datensatzes in Trainings- und Testdaten?
2. Warum könnte der F1-Score bei einem unausgeglichenen Datensatz der Genauigkeit vorgezogen werden?
Danke für Ihr Feedback!