1) Wie kann ich den Klassifizierungsschwellenwert (ich denke, er ist standardmäßig 0,5) in RandomForest in sklearn ändern?
2) Wie kann ich in sklearn eine Unterprobe machen?
3) Ich habe das folgende Ergebnis vom RandomForest-Klassifikator: [[1635 1297] [520 3624]]
precision recall f1-score support
class 0 0.76 0.56 0.64 2932
class 1 0.74 0.87 0.80 4144
Durchschnitt / Gesamt 0,75 0,74 0,73 7076
Erstens sind die Daten unausgeglichen (30% aus Klasse 0 und 70% aus Klasse 1). Ich denke also, dass der Klassifikator eher für Klasse 1 voreingenommen ist, was bedeutet, dass einige von Klasse 0 zu Klasse 1 verschoben werden (es gibt 1297 Fehlklassifizierungen für Klasse 0, aber 520 Fehlklassifizierungen für Klasse 1). Wie kann ich das beheben? ob Downsampling helfen kann? oder Änderung der Klassifizierungsschwelle?
Update: Klasse 0 hat 40% der Bevölkerung, während Klasse 1 60% hat. Die Drift von Klasse 0 zu Klasse 1 (1297) ist jedoch hoch, während ich möchte, dass dies niedrig wird.
quelle
sample_weight
Parameter (ein Gewicht pro Parameter), der sehr flexibel ist und eine Simulation ermöglichtclass_weight
(ein Gewicht pro Zielklasse ).y
? Warum hast du andersY
undy
?