Ich implementierte ein Modell, in dem ich Logistische Regression als Klassifikator benutze und ich wollte die Lernkurven sowohl für das Training als auch für die Testsätze aufzeichnen, um zu entscheiden, was als nächstes zu tun ist, um mein Modell zu verbessern.Lernkurven - Warum beginnt die Trainingsgenauigkeit so hoch, dann plötzlich fallen?
Nur um Ihnen einige Informationen zu geben, um die Lernkurve zu plotten Ich definierte eine Funktion, die ein Modell, eine Pre-Split-Datensatz (trainieren/Test X und Y-Arrays, NB: mit train_test_split
Funktion), eine Bewertungsfunktion als Eingabe und iteriert durch das Dataset-Training auf n exponentiell beabstandeten Teilmengen und gibt die Lernkurven zurück.
Meine Ergebnisse in das unten stehende Bild sind
Ich frage mich, warum die Genauigkeit Ausbildung so hoch starten, starten Sie dann plötzlich fallen, dann wieder steigen, da steigt Trainingssatz Größe? Und umgekehrt für die Testgenauigkeit. Ich dachte extrem gute Genauigkeit und der Absturz war wegen einiger Geräusche aufgrund kleiner Datensätze am Anfang und dann, als die Datensätze konsistenter wurden, begann es zu steigen, aber ich bin mir nicht sicher. Kann jemand das erklären?
Und schließlich, können wir davon ausgehen, dass diese Ergebnisse eine geringe Varianz/moderate Bias (70% Genauigkeit in meinem Kontext ist nicht so schlecht) bedeutet, und um mein Modell zu verbessern muss ich auf Ensemble-Methoden oder Extreme Feature Engineering zurückgreifen?
Vielen Dank für Ihre Meinung. Denkst du, dass ein Tuning wie Extreme Feature Engineering oder Ensemble-Methoden mir helfen würde, die Genauigkeit zu erhöhen? Oder vielleicht habe ich die Genauigkeitsgrenze aufgrund des Rauschens der Daten erreicht (irreversibler Fehler). – DiamondDogs95
@ DiamondDogs95 Hallo! Leider ist es schwer zu sagen, ohne zu wissen, wie die Daten aussehen (Anwendungsdomäne, Features usw.) – bakkal