PyTorch Tabular技术文档
PyTorch Tabular是一款旨在简化深度学习在表格数据应用的库,它设计时考虑到了易用性、可定制性和部署的便捷性。本文档将引导您了解如何安装该库、使用其功能、掌握API详情以及进行项目搭建。
安装指南
基础安装
确保您的系统已预先安装了正确版本的PyTorch。访问PyTorch官方网站选择适合您设备的CUDA版本完成安装。之后,通过以下命令安装PyTorch Tabular的核心功能:
pip install -U "pytorch_tabular"
对于完整体验(包含Weights&Biases和Plotly等额外依赖),执行:
pip install -U "pytorch_tabular[extra]"
源码安装
如果您想要从源代码编译安装,首先通过Git克隆仓库:
git clone git://github.com/manujosephv/pytorch_tabular
进入项目目录并安装(推荐加上[extra]
以获得全部依赖):
cd pytorch_tabular && pip install .[extra]
项目使用说明
PyTorch Tabular简化了深度学习模型的构建过程,特别适用于表格型数据。下面是快速使用示例,展示如何配置和训练一个分类模型:
首先,导入必要的模块,并定义数据配置、优化器配置、训练配置以及模型配置:
from pytorch_tabular import TabularModel
from pytorch_tabular.models import CategoryEmbeddingModelConfig
from pytorch_tabular.config import (
DataConfig,
OptimizerConfig,
TrainerConfig,
)
# 配置数据、模型、训练参数等
data_config = DataConfig(target=["目标列名"], continuous_cols, categorical_cols)
optimizer_config = OptimizerConfig()
trainer_config = TrainerConfig(auto_lr_find=True, batch_size=1024, max_epochs=100)
model_config = CategoryEmbeddingModelConfig(task="classification", layers="1024-512-512", activation="LeakyReLU")
# 初始化并训练模型
tabular_model = TabularModel(
data_config, model_config, optimizer_config, trainer_config
)
tabular_model.fit(train_data, validation_data)
predictions = tabular_model.predict(test_data)
请注意替换持续特征列名
、类别特征列名
和目标列名
为实际数据集中的对应列名。
项目API使用文档
PyTorch Tabular提供了丰富的API来支持不同的需求,例如:
-
TabularModel: 主接口,用于创建、训练和预测。
TabularModel( data_config, model_config, optimizer_config=None, trainer_config=None, experiment_config=None )
其中,
data_config
指定数据结构,model_config
定义网络架构,而optimizer_config
和trainer_config
分别控制优化器设置和训练流程。 -
DataConfig: 用来定义输入数据的结构,包括连续列和类别列。
-
ModelConfig: 根据不同任务(如分类、回归)设定模型配置,可以定制网络层数、激活函数等。
项目特点和模型
此库支持多种深度学习模型,包括但不限于:
- FeedForward Network with Category Embedding
- Neural Oblivious Decision Ensembles (NODE)
- TabNet
- Mixture Density Networks
- AutoInt
- TabTransformer
- FT Transformer
- Gated Adaptive Network for Deep Automated Learning of Features (GANDALF)
- Deep Abstract Networks (DANETs)
- 还有支持半监督学习的Denoising AutoEncoder。
每个模型都有其特定的应用场景和优势,用户可根据实际需求选择合适的模型配置。
以上是PyTorch Tabular的基础使用和技术概览,更多详细信息和高级教程,请查阅官方文档。