Ich schreibe ein kleines System in Java, in dem ich N-Gram-Funktion aus Textdateien extrahiere und später Feature-Auswahlprozess durchführen muss, um die meisten Diskriminator-Funktionen auszuwählen.Best Practice für das Halten riesiger Datenlisten in Java
Der Feature Extraction-Prozess für eine einzelne Datei gibt eine Map zurück, die für jedes eindeutige Feature seine Vorkommen in der Datei enthält. Ich füge alle Maps (Map) der Datei zu einer Map zusammen, die die Document Frequency (DF) aller eindeutigen Features enthält, die aus allen Dateien extrahiert wurden. Die vereinheitlichte Karte kann mehr als 10.000.000 Einträge enthalten.
Derzeit funktioniert der Feature Extraction-Prozess großartig und ich möchte Feature-Auswahl durchführen, in denen ich Information Gain oder Gain Ratio implementieren muss. Ich muss die Karte zuerst sortieren, Berechnungen durchführen und die Ergebnisse speichern, um schließlich eine Liste von (für jedes Feature, seine Feature Selection Score) zu erhalten
Meine Frage ist: Was ist die beste Praxis und das Beste Datenstruktur, um diese große Datenmenge (~ 10M) zu speichern und Berechnungen durchzuführen?
Werfen Sie einen Blick auf HashMap. – Hungry