Skip to main content
ToolPotion
AI Advisor
Submit a Tool (Free)

Neural Oblivious Decision Ensembles

AI GitHub ReposMachine Learning PlatformsOpen source · Linux, macOS, Windows

Neural Oblivious Decision Ensembles (NODE) is a Python library for deep learning on tabular data. It implements ensembles of oblivious, differentiable decision trees, offering a novel approach to structured data modeling. NODE aims to leverage deep learning architectures for tabular datasets, providing an alternative to traditional methods.

View Repository
Share
View Repository
Share

Neural Oblivious Decision Ensembles (NODE) is a supplementary code repository for the research paper on Neural Oblivious Decision Ensembles for Deep Learning on Tabular Data. This project focuses on learning deep ensembles of oblivious, differentiable decision trees specifically designed for tabular datasets. The core innovation lies in applying deep learning techniques to structured data, a domain traditionally dominated by gradient boosting machines and simpler tree-based models.

Read More

NODE's architecture allows for the creation of complex, ensemble-based models that can capture intricate relationships within tabular data. By utilizing differentiable decision trees, the system can be trained end-to-end using gradient descent, similar to standard neural networks. This approach offers a unique blend of the interpretability and structure of decision trees with the powerful learning capabilities of deep neural networks.

The project provides a Python implementation that can be run on machines with a CPU and preferably one or more GPUs. While running without a GPU is possible, it is significantly slower. The implementation is noted to be memory inefficient and may require substantial GPU memory for convergence. It is tested on Linux x64 distributions like Ubuntu 16.04 and is expected to work on other popular Linux distributions and macOS. For Windows and x32 systems, significant modifications might be necessary, and using Docker, especially a GPU-enabled version like nvidia-docker, is recommended.

To run NODE, users need to clone or download the repository, set up a Python environment (Anaconda is suggested), and install the required packages from `requirements.txt`. A critical dependency is `torch >= 1.1`. Users will also need Jupyter Notebook or a similar tool to work with the provided `.ipynb` files. Before executing the first cell in a notebook, the `CUDA_VISIBLE_DEVICES` environment variable must be set to the desired GPU index. The notebooks download datasets from Dropbox, requiring 1-5 GB of disk space. The library showcases typical learning scenarios for both classification and regression tasks, with detailed training information available in the original research paper.

  • CategoryMachine Learning Platforms
  • Pricing ModelOpen source
  • DeploymentCloud, Self-hosted
  • PlatformsLinux, macOS, Windows

  • Deep learning on tabular data

  • Ensembles of oblivious differentiable decision trees

  • End-to-end training via gradient descent

  • Supports classification tasks

  • Supports regression tasks

  • GPU acceleration for faster training

  • Python-based implementation

  • Supplementary code for research paper

  • Requires PyTorch version 1.1 or later

  1. Clone or download repository: Obtain the project files from GitHub.

  2. Set up Python environment: Create and activate a Python environment (e.g., using Anaconda).

  3. Install dependencies: Run `pip install -r requirements.txt` to install necessary packages, ensuring PyTorch version is >= 1.1.

  4. Configure GPU usage: Set the `CUDA_VISIBLE_DEVICES` environment variable to your desired GPU index before running notebooks.

  5. Run notebooks: Open and execute the provided Jupyter notebooks in the `./notebooks/` directory.

  6. Download datasets: Notebooks will automatically download required datasets (1-5GB).

  • Tabular Data Classification
  • Tabular Data Regression
  • Deep Learning Research
  • Feature Engineering Alternatives
  • Model Interpretability Research

Neural Oblivious Decision Ensembles Reviews

Loading...

Popular AI Tools Like Neural Oblivious Decision Ensembles

TabNet

AI GitHub Repos

PyTorch implementation of the TabNet paper, offering an attentive and interpretable approach to tabular data learning. It supports classification, regression, and multi-task…

Machine Learning Platforms
View Tool

AI GitHub Repos

PyTorch implementation of the TabNet paper, offering an attentive and interpretable approach to tabular data learning. It supports classification, regression, and multi-task…

Machine Learning Platforms
See the Top 250 AI GitHub Repos

SAINT

AI GitHub Repos

This repository provides the official PyTorch implementation of the SAINT model, designed for improved neural networks on tabular data. It leverages row attention and contrastive…

Machine Learning Platforms
View Tool

AI GitHub Repos

This repository provides the official PyTorch implementation of the SAINT model, designed for improved neural networks on tabular data. It leverages row attention and contrastive…

Machine Learning Platforms
See the Top 250 AI GitHub Repos

This GitHub repository provides the official implementation for the NeurIPS 2021 paper 'Revisiting Deep Learning Models for Tabular Data.' It explores deep learning architectures…

AI Models & LLMs
View Tool

TensorFlow

AI GitHub Repos

TensorFlow is an open-source machine learning framework designed for everyone. It provides a comprehensive ecosystem for building and deploying machine learning models, making it…

Machine Learning Platforms
View Tool

AI GitHub Repos

Open-source machine learning framework designed for everyone. It provides a comprehensive ecosystem for building and deploying machine learning models, making it…TensorFlow is an open-source machine learning framework designed for everyone. It provides a comprehensive ecosystem for building and deploying machine learning models, making it…

FeaturedMachine Learning Platforms
See the Top 250 AI GitHub Repos

Keras

AI GitHub Repos

Keras is an open-source deep learning library designed for humans. It simplifies the process of building neural networks and allows developers to contribute to its development on…

Machine Learning Platforms
View Tool

AI GitHub Repos

Open-source deep learning library designed for humans. It simplifies the process of building neural networks and allows developers to contribute to its development on…Keras is an open-source deep learning library designed for humans. It simplifies the process of building neural networks and allows developers to contribute to its development on…

FeaturedMachine Learning Platforms
See the Top 250 AI GitHub Repos

Shumai

AI GitHub Repos

Shumai is a fast, differentiable tensor library for JavaScript and TypeScript, built with Bun and Flashlight. It enables software engineers and researchers to create datasets,…

Machine Learning Platforms
View Tool

AI GitHub Repos

Fast, differentiable tensor library for JavaScript and TypeScript, built with Bun and Flashlight. It enables software engineers and researchers to create datasets,…Shumai is a fast, differentiable tensor library for JavaScript and TypeScript, built with Bun and Flashlight. It enables software engineers and researchers to create datasets,…

Machine Learning Platforms
See the Top 250 AI GitHub Repos

PyTorch

AI GitHub Repos

PyTorch is an open-source machine learning library that provides tools for building dynamic neural networks in Python, leveraging strong GPU acceleration for efficient computation.

Machine Learning & Data Science
View Tool

AI GitHub Repos

Open-source machine learning library that provides tools for building dynamic neural networks in Python, leveraging strong GPU acceleration for efficient computation.PyTorch is an open-source machine learning library that provides tools for building dynamic neural networks in Python, leveraging strong GPU acceleration for efficient computation.

FeaturedMachine Learning & Data Science
See the Top 250 AI GitHub Repos

Neuroph

AI GitHub Repos

Neuroph is an open-source neural network framework written in Java. It simplifies the development and implementation of artificial neural networks for various applications. The…

Machine Learning Platforms
View Tool

AI GitHub Repos

Open-source neural network framework written in Java. It simplifies the development and implementation of artificial neural networks for various applications. The…Neuroph is an open-source neural network framework written in Java. It simplifies the development and implementation of artificial neural networks for various applications. The…

Machine Learning Platforms
See the Top 250 AI GitHub Repos
1 of 8