Aller au contenu principal
ToolPotion

Neural Oblivious Decision Ensembles

Neural Oblivious Decision Ensembles (NODE) est une bibliothèque Python pour le deep learning sur données tabulaires. Elle implémente des ensembles d'arbres de décision oblivieux et différentiables, offrant une approche novatrice pour la modélisation de données structurées. NODE vise à exploiter les architectures de deep learning pour les jeux de données tabulaires, proposant une alternative aux méthodes traditionnelles.

Visiter l'URL

Description

Neural Oblivious Decision Ensembles (NODE) est un dépôt de code complémentaire pour l'article de recherche sur les Neural Oblivious Decision Ensembles pour le Deep Learning sur Données Tabulaires. Ce projet se concentre sur l'apprentissage d'ensembles profonds d'arbres de décision oblivieux et différentiables, spécifiquement conçus pour les jeux de données tabulaires. L'innovation principale réside dans l'application des techniques de deep learning aux données structurées, un domaine traditionnellement dominé par les machines à gradient boosting et les modèles plus simples basés sur des arbres.

L'architecture de NODE permet la création de modèles complexes basés sur des ensembles, capables de capturer des relations complexes au sein des données tabulaires. En utilisant des arbres de décision différentiables, le système peut être entraîné de bout en bout à l'aide de la descente de gradient, similaire aux réseaux neuronaux standards. Cette approche offre un mélange unique d'interprétabilité et de structure des arbres de décision avec les puissantes capacités d'apprentissage des réseaux neuronaux profonds.

Le projet fournit une implémentation Python qui peut être exécutée sur des machines dotées d'un CPU et, de préférence, d'un ou plusieurs GPU. Bien qu'il soit possible de l'exécuter sans GPU, cela est considérablement plus lent. L'implémentation est notée comme étant inefficace en mémoire et peut nécessiter une mémoire GPU substantielle pour la convergence. Elle a été testée sur des distributions Linux x64 comme Ubuntu 16.04 et devrait fonctionner sur d'autres distributions Linux populaires et macOS. Pour les systèmes Windows et x32, des modifications importantes pourraient être nécessaires, et l'utilisation de Docker, en particulier une version compatible GPU comme nvidia-docker, est recommandée.

Pour exécuter NODE, les utilisateurs doivent cloner ou télécharger le dépôt, configurer un environnement Python (Anaconda est suggéré) et installer les paquets requis à partir de `requirements.txt`. Une dépendance critique est `torch >= 1.1`. Les utilisateurs auront également besoin de Jupyter Notebook ou d'un outil similaire pour travailler avec les fichiers `.ipynb` fournis. Avant d'exécuter la première cellule d'un notebook, la variable d'environnement `CUDA_VISIBLE_DEVICES` doit être définie sur l'index du GPU souhaité. Les notebooks téléchargent des jeux de données depuis Dropbox, nécessitant 1 à 5 Go d'espace disque. La bibliothèque présente des scénarios d'apprentissage typiques pour les tâches de classification et de régression, avec des informations d'entraînement détaillées disponibles dans l'article de recherche original.

Points forts de Neural Oblivious Decision Ensembles

  • Deep learning sur données tabulaires

  • Ensembles d'arbres de décision différentiables et oblivieux

  • Entraînement de bout en bout via descente de gradient

  • Supporte les tâches de classification

  • Supporte les tâches de régression

  • Accélération GPU pour un entraînement plus rapide

  • Implémentation basée sur Python

  • Code complémentaire pour l'article de recherche

  • Nécessite PyTorch version 1.1 ou ultérieure

Premiers pas avec Neural Oblivious Decision Ensembles

  1. Cloner ou télécharger le dépôt : Obtenez les fichiers du projet depuis GitHub.

  2. Configurer l'environnement Python : Créez et activez un environnement Python (par exemple, en utilisant Anaconda).

  3. Installer les dépendances : Exécutez `pip install -r requirements.txt` pour installer les paquets nécessaires, en vous assurant que la version de PyTorch est >= 1.1.

  4. Configurer l'utilisation du GPU : Définissez la variable d'environnement `CUDA_VISIBLE_DEVICES` sur l'index de votre GPU souhaité avant d'exécuter les notebooks.

  5. Exécuter les notebooks : Ouvrez et exécutez les notebooks Jupyter fournis dans le répertoire `./notebooks/`.

  6. Télécharger les jeux de données : Les notebooks téléchargeront automatiquement les jeux de données requis (1-5 Go).

Cas d'utilisation de Neural Oblivious Decision Ensembles

  • Classification de données tabulaires
  • Régression de données tabulaires
  • Recherche en Deep Learning
  • Alternatives à l'ingénierie des caractéristiques
  • Recherche sur l'interprétabilité des modèles

FAQ de Neural Oblivious Decision Ensembles

Avis sur Neural Oblivious Decision Ensembles

Chargement...

Outils IA populaires comme Neural Oblivious Decision Ensembles

Modèles IA

Implémentation PyTorch du papier TabNet, offrant une approche attentive et interprétable pour l'apprentissage de données tabulaires. Il prend en charge la classification, la…

Plateformes de machine learning

Ce dépôt fournit l'implémentation PyTorch officielle du modèle SAINT, conçue pour des réseaux neuronaux améliorés sur des données tabulaires. Il exploite l'attention par ligne et…

Plateformes de machine learning

Frameworks IA

fastai est une bibliothèque de deep learning conçue pour les praticiens et les chercheurs. Elle offre des composants de haut niveau pour le développement rapide de résultats de…

En vedettePlateformes de machine learning

Frameworks IA

OpenNN est une bibliothèque logicielle gratuite et open-source pour les réseaux neuronaux. Elle fournit un ensemble complet d'outils pour le développement et la mise en œuvre de…

Plateformes de machine learning

DJL est un framework de deep learning agnostique quant au moteur, conçu pour Java. Il simplifie le processus de construction, d'entraînement et de déploiement de modèles…

Plateformes de machine learning