Ich habe eine binäre Klasse Dataset (0/1) mit einer großen Schräglage in Richtung der "0" -Klasse (etwa 30000 vs 1500). Es gibt 7 Funktionen für jede Instanz, keine fehlenden Werte.Wie kann man Weka Baumklassierer absichtlich überziehen?
Wenn ich den J48 oder einen anderen Baum Klassifizierer verwende, bekomme ich fast alle "1" Instanzen fälschlicherweise als "0" klassifiziert.
Den Klassifikator auf "nicht protokolliert" setzen, die minimale Anzahl von Instanzen pro Blatt auf 1 setzen, den Konfidenzfaktor auf 1 setzen, ein Dummy-Attribut mit Instanz-ID-Nummer hinzufügen - all dies hat nicht geholfen.
Ich kann einfach kein Modell erstellen, das meine Daten überlagert!
Ich habe auch versucht, fast alle anderen Klassifikatoren Weka bietet, aber ähnliche Ergebnisse.
Die Verwendung von IB1 wird 100% ig genau (Zugverband im Zugverband), daher ist es kein Problem von mehreren Instanzen mit denselben Merkmalswerten und unterschiedlichen Klassen.
Wie kann ich einen vollständig nicht protokollierten Baum erstellen? Oder sonst zwingen Weka meine Daten zu überfrachten?
Danke.
Update: Okay, das ist absurd. (! Unpruned):
J48 unpruned tree
------------------
F <= 0.90747: 1 (201.0/54.0)
F > 0.90747: 0 (4153.0/1062.0)
Unnötig zu sagen, IB1 gibt immer noch 100% Präzision Ich habe nur etwa 3100 negativ und 1200 positive Beispiele, und dies ist der Baum, den ich bekam verwendet.
Update 2: Ich weiß nicht, wie ich es verpasst habe - unprawn SimpleCart funktioniert und gibt 100% Genauigkeit Zug auf Zug; bereinigt SimpleCart ist nicht so voreingenommen wie J48 und hat eine anständige falsch positive und negative Ratio.
möglich damit verbundene Frage: http://stackoverflow.com/ Fragen/2519997/verschiedene-Gewichte-von-falsch-positiv-und-falsch-negativ-in-neuronalen Netzwerk – Amro