描述
Neural Oblivious Decision Ensembles (NODE) 是关于“用于表格数据深度学习的神经遗忘决策集成”研究论文的补充代码库。该项目专注于学习遗忘的、可微分的决策树的深度集成,这些决策树专门为表格数据集设计。核心创新在于将深度学习技术应用于结构化数据,而这一领域传统上由梯度提升机和更简单的基于树的模型主导。
阅读更多
NODE 的架构允许创建复杂的、基于集成的模型,这些模型可以捕捉表格数据中的复杂关系。通过使用可微分的决策树,该系统可以像标准神经网络一样,通过梯度下降进行端到端训练。这种方法将决策树的可解释性和结构与深度神经网络强大的学习能力独特地结合起来。
该项目提供了一个 Python 实现,可以在具有 CPU 和最好有一个或多个 GPU 的机器上运行。虽然可以在没有 GPU 的情况下运行,但速度会显著变慢。该实现被指出内存效率不高,可能需要大量的 GPU 内存才能收敛。它已在 Linux x64 发行版(如 Ubuntu 16.04)上进行了测试,并有望在其他流行的 Linux 发行版和 macOS 上运行。对于 Windows 和 x32 系统,可能需要进行重大修改,并建议使用 Docker,特别是像 nvidia-docker 这样的 GPU 启用版本。
要运行 NODE,用户需要克隆或下载存储库,设置 Python 环境(建议使用 Anaconda),并从 `requirements.txt` 安装所需的包。一个关键的依赖项是 `torch >= 1.1`。用户还需要 Jupyter Notebook 或类似的工具来处理提供的 `.ipynb` 文件。在执行 notebook 中的第一个单元格之前,必须将 `CUDA_VISIBLE_DEVICES` 环境变量设置为所需的 GPU 索引。Notebook 会从 Dropbox 下载数据集,需要 1-5 GB 的磁盘空间。该库展示了分类和回归任务的典型学习场景,详细的训练信息可在原始研究论文中找到。
- 类别机器学习平台
- 定价模式开源
- 部署云端, 自托管
- 平台Linux, macOS, Windows
Neural Oblivious Decision Ensembles的核心功能
表格数据深度学习
遗忘的可微分决策树集成
通过梯度下降进行端到端训练
支持分类任务
支持回归任务
GPU 加速以加快训练速度
基于 Python 的实现
研究论文的补充代码
需要 PyTorch 版本 1.1 或更高版本
Neural Oblivious Decision Ensembles入门
克隆或下载存储库:从 GitHub 获取项目文件。
设置 Python 环境:创建并激活 Python 环境(例如,使用 Anaconda)。
安装依赖项:运行 `pip install -r requirements.txt` 来安装必要的包,确保 PyTorch 版本为 >= 1.1。
配置 GPU 使用:在运行 notebook 之前,将 `CUDA_VISIBLE_DEVICES` 环境变量设置为所需的 GPU 索引。
运行 notebook:在 `./notebooks/` 目录中打开并执行提供的 Jupyter notebook。
下载数据集:Notebook 将自动下载所需数据集(1-5GB)。
Neural Oblivious Decision Ensembles的使用案例
- 表格数据分类
- 表格数据回归
- 深度学习研究
- 特征工程替代方案
- 模型可解释性研究







