Ich versuche, einen binären Klassifikationsentscheidungsbaum aus riesigen (d. H. Die nicht im Speicher gespeichert werden) Datasets mit MATLAB zu erstellen. Im Grunde, was ich tue ist:Lernen von Entscheidungsbäumen auf riesigen Datensätzen
- alle sammeln die Daten
- ausprobieren n Entscheidungsfunktionen auf den Daten
- die best decision function herausgreifen, um die Klassen innerhalb der Daten
- Split zu trennen die ursprüngliche Datenmenge in den 2
- Recurse auf den Splits
die Daten hat k Attribute und eine Klassifizierung, ist es, um eine Matrix mit einer großen Anzahl von Zeilen gespeichert ist, und k + 1 Spalten. Die Entscheidungsfunktionen sind boolesch und wirken auf die Attribute, die jede Zeile dem linken oder rechten Teilbaum zuweisen.
Momentan überlege ich, die Daten auf Dateien in Blöcken zu speichern, die im Speicher gehalten werden können und jeder Reihe eine ID zuweisen, so dass die Entscheidung getroffen wird, alle Dateien nacheinander zu lesen und die zukünftigen Aufteilungen zu identifizieren die ID-Nummern.
Weiß jemand, wie man das besser macht?
EDIT: Die Anzahl der Zeilen m ist um 5E8 und k etwa 500 ist
Nur um zu verdeutlichen: k ist nicht riesig, nur die Anzahl der Zeilen ist? – Reunanen
Ja, die Anzahl der Zeilen, m >> k – Jacob