Hallo zusammen, guten Rutsch ins neue Jahr 2021.
Ich arbeite an einem Klassifizierungsproblem mit einer binären Antwort namens Group (o- und 1-Zustände), wie in der angehängten xls-Datei angegeben. Insgesamt gibt es 13 Prädiktoren, von denen 2 kategorisch sind. Diese Tabelle ist das Ergebnis von Bereinigung, Merkmalsauswahl und Clustering (um Kollarität zu entfernen). Da der Gruppenstatus 1 in Bezug auf den 0-Status stark unausgeglichen ist, habe ich die SMOTE + TOMEK-Addins verwendet, um die Reaktion auszugleichen. Die hinzugefügten Zeilen sind an der Spalte Quelle erkennbar. Ich habe mehrere Klassifizierungsmodelle ausgeführt, deren Ergebnisse in der angehängten ppt-Datei enthalten sind. Die NN ist die eine mit dem höchsten R2 und einem niedrigeren Fehlklassifizierungsfehler, während die Naive Bayes die schlechteste mit einem Fehlklassifizierungsfehler von etwa 0,2 ist. Da ich Angst vor einem Modell mit 0 Fehlklassifikationsfehlern (Überanpassung) habe, welches ist Ihrer Meinung nach das zuverlässigste Modell (das Modell, das nach der Bereitstellung denselben Fehlklassifikationsfehler aufweist)?
Danke Felice
Ciao Dan danke für deine Mail.
Bezüglich der xls-Datei hast du Recht. Beim nächsten Mal werde ich die JMP-Datei anstelle der Excel-Datei freigeben.
Die Smoke+tomek-Addins wirken sich nicht auf das Modell aus. Mit und ohne ist die Leistung genau gleich.
Für einige der von mir entwickelten Modelle habe ich nur die von JMP vorgeschlagenen Hyperparameterwerte verwendet. Sie haben Recht.
Die 89 Instanzen, auf die Sie sich beziehen, wurden nicht zur Entwicklung des Modells verwendet.Ich habe die Modellleistung auch an diesen nicht gesehenen 89 Beispielen überprüft (neben der Testgruppe). Auch in diesem Fall bestätigten die Modelle die gute Leistung der Trainings-/Testgruppen. Alles scheint in Ordnung zu sein.
Vielleicht, wie Sie vorschlagen, besteht die einzige Möglichkeit, sich über die Zuverlässigkeit von Modellen sicher zu sein, darin, die Bereitstellung durchzuführen und die Leistung anhand unsichtbarer Daten zu überprüfen.
Ein paar Dinge, die mir bei meinem sehr kurzen Blick auf Ihre Ergebnisse aufgefallen sind.
Erstens ist dies eine JMP-Community, daher wäre eine JMP-Datei einer Excel-Datei vorzuziehen. Schließlich habe ich die Daten als Erstes in JMP eingefügt, damit ich sie sehen konnte! Außerdem hätten Sie Ihre verschiedenen Modelle als Skripte speichern können, die erneut ausgeführt werden könnten, um die von Ihnen ausprobierten Optionen anzuzeigen.
Ich weiß nicht, wie Sie SMOTE+TOMEK implementiert haben, um die Antworten auszugleichen, aber es gibt andere Möglichkeiten, wie Sie versuchen könnten, die Antworten auszugleichen. Sie hätten Oversampling durchführen, einige der häufigeren Fälle ignorieren, Zeilen Training/Validierung/Test zuweisen können, basierend auf einer stratifizierten Stichprobe der Antwort usw. Unabhängig davon, ob Sie sich Sorgen um das "perfekte" Modell machen, könnten diese Modelle abholen Wie wurde das Balancing durchgeführt? Wenn ein Algorithmus den Ausgleich durchführt, kann ein Modell/Algorithmus dies möglicherweise erklären.
Unter der Annahme, dass der Ausgleich den Modellierungsaufwand nicht beeinflussen kann, hatten Sie Ihre Daten in Training, Validierung und Test aufgeteilt. Ihr Test-Set sollte auf die reale Leistung hinweisen, daher glaube ich nicht, dass es zu einer Überanpassung kommt. Das Testset wird bei der Anpassung überhaupt nicht verwendet. Wenn Sie glauben, dass das Modell zu gut ist, stellen Sie sicher, dass Ihre Daten (und insbesondere das Testset) für Ihren Prozess repräsentativ sind.
Es gibt 89 Zeilen ohne Validierungswert. Wieso den? Schließen Sie diese Zeilen aus Ihrer Analyse aus? Wieso den?
Es sieht so aus, als hätten Sie alle Standardwerte für einen verstärkten Baum verwendet. Beachten Sie, dass ein standardmäßig verstärkter Baum 50 Ebenen hat und Ihre Endergebnisse zeigen, dass alle 50 Ebenen verwendet wurden. Das bedeutet, dass Sie einen besseren Baum haben können, indem Sie mehr verstärkte Ebenen verwenden. Hier ist ein Ergebnis, wenn ich eine sehr hohe Anzahl von Ebenen angegeben habe.

Die Support-Vektor-Maschine lieferte auch eine perfekte Anpassung gemäß der Fehlklassifikationsrate. Warum sollte man das nicht berücksichtigen?
Die einzige Möglichkeit, wirklich Vertrauen in ein Modell zu haben, besteht darin, es für neue Daten zu verwenden. Warum nicht mit allen dreien fortfahren (mehrschichtiger Boosted Tree, neurales Netz und Support-Vektor-Maschinen) und die Daten bestimmen lassen, welche wirklich besser funktioniert? Müssen Sie die Geschwindigkeit der Modellbewertung berücksichtigen, um zu bestimmen, welches Modell Sie verwenden?