Wie Teile ich ein dataset in Trainings-und test sets mit Weka?
Möchte ich teilen eine million-Datensatz Datensatz im CSV-format in 80% training und 20% für die Prüfung. Wie kann ich den code für das Java-oder Weka-Bibliothek?
- Warum nicht tun Sie es einfach zufällig durch die Verwendung von standard-Zufallszahlen-Generatoren?
- JS Meier sagte: Lesen Sie die Datei zeilenweise ein und entscheiden Sie, wenn Sie wollen, um eine solche Linie zu TESTEN.csv-Datei oder ZUG.csv-Datei. Es gibt Hunderte von Beispielen, die auf der web zu behandeln, wie text-Dateien.
- Ich kann verstehen, dass du gesagt hast. Aber Freunde, wenn ich ändern und aktualisieren von Daten, die ich brauche, um die manuelle Vorgang für jeden Datensatz. Eigentlich will ich diese benutzen für maschinelles lernen, so Bedarf es der richtigen zufällige Datensätze zu verarbeiten und Ihre Idee erhöht die Kosten des Prozesses. Wenn Sie verstehen, was ich sage, dann gib mir eine andere Idee.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie verwenden Sie die bereitgestellten Methoden
Instances
Zuerst zufällig, Ihre DatenIn Fall werden Ihre Daten über eine Nominale Klasse und Sie will ausführen stratified cross-validation:
Nun, normalerweise würden Sie wollen, um ein cross-Validierung und tun Sie dies:
(Die Quelle eigentlich erwähnt, dass "der obige code wird durch die
weka.filters.supervised.instance.StratifiedRemoveFolds
filter")Aber wenn Sie nur wollen, eine Reihe von 80/20 Instanzen, dann tun Sie es einfach einmal:
Quelle
Dazu können Sie in Java mit der Weka-Bibliothek mit einem filter namens StratifiedRemoveFolds