J'essaie de construire un arbre de décision de classification binaire à partir d'énormes ensembles de données (c'est-à-dire qui ne peuvent pas être stockés en mémoire) en utilisant MATLAB. Essentiellement, ce que je fais est:Arbres de décision d'apprentissage sur d'énormes ensembles de données
- recueillir toutes les données
- Essayez n fonctions de décision sur les données
- Choisissez le best decision function pour séparer les classes dans les données
- de Split l'ensemble de données d'origine en 2
- Recurse sur les fentes
les données ont k attributs et une classification, de sorte qu'il est stocké sous forme de matrice avec énorme nombre de lignes, et k + 1 colonnes. Les fonctions de décision sont booléennes et agissent sur les attributs assignant chaque ligne au sous-arbre gauche ou droit. Actuellement, j'envisage de stocker les données sur des fichiers en morceaux pouvant être conservés en mémoire et d'attribuer un identifiant à chaque ligne, de sorte que la décision de scinder soit prise en lisant tous les fichiers de manière séquentielle et que les futurs scissions soient identifiées par les numéros d'identification.
Est-ce que quelqu'un sait comment faire cela d'une meilleure façon?
EDIT: Le nombre de lignes m est d'environ 5E8 et k est d'environ 500
Juste pour clarifier: k n'est pas énorme, seul le nombre de lignes est? – Reunanen
Oui, le nombre de lignes, m >> k – Jacob