Ich benutze Scikit-lernen in meinem Python-Programm, um einige maschinelle Lernvorgänge durchzuführen. Das Problem ist, dass mein Datensatz schwerwiegende Ungleichgewichtsprobleme hat.Ungleichgewicht in scikit-learn
Kennt jemand eine Lösung für Unausgewogenheit in Scikit-lernen oder in Python im Allgemeinen? In Java gibt es die SMOTE Mechanizm. Gibt es in Python etwas Paralleles?
Sie können Oversampling/Undersampling versuchen, um den Datensatz auszugleichen. Natürlich ist dies eine allgemeine maschinelle Lernmethode und nicht spezifisch für Python und scikit-learn. Tatsächlich könnte diese Frage hier nicht behandelt werden. Vielleicht passt es besser zu den Statistiken. Sie haben sogar ein [unbalanced-classes-Tag] (http://stats.stackexchange.com/questions/tagged/unbalanced-classes). – Junuxx
Ich weiß, das Thema ist alt, aber ich füge nur einen Ratschlag hinzu. Bei unausgeglichenen Datensätzen können Sie außer dem Oversampling/Undersampling und dem Parameter class_weight auch den Schwellenwert für die Klassifizierung Ihrer Fälle senken. Sagen Sie Wahrscheinlichkeiten voraus (anstelle von Klassen) und versuchen Sie, Schwellenwerte kleiner als 0,5 zu verwenden. Natürlich wird dies nicht die Leistung des Klassifikators erhöhen, es ist nur ein Kompromiss zwischen Präzision und Rückruf. – Stergios
Stergios, wie genau können Sie die Schwelle einstellen? Irgendwelche Hinweise auf den Python-Code, der das tut? – KubiK888