欢迎来到DeepTables¶
DeepTables: 用于表格数据的深度学习工具包¶
DeepTables(DT) 是一个易于使用的工具包,使深度学习能够在表格数据上释放巨大威力。
概述¶
MLP(也称为全连接神经网络)在学习分布表示方面已被证明效率低下。感知层的“加法”操作在探索乘法特征交互方面表现不佳。在大多数情况下,手动特征工程是必要的,这项工作需要广泛的领域知识且非常繁琐。如何在神经网络中高效地学习特征交互成为最重要的问题。
已经提出了许多模型用于CTR预测,并且在近年来持续超越现有的最先进方法。著名的例子包括FM、DeepFM、Wide&Deep、DCN、PNN等。这些模型在合理利用的情况下也能在表格数据上提供良好的性能。
DT旨在利用最新的研究成果,为用户提供一个关于表格数据的端到端工具包。
DT 的设计考虑了以下关键目标:
- 易于使用,非专家也可以使用。
- 开箱即用,提供良好的性能。
- 灵活的架构和用户易于扩展。
DT 按照以下步骤构建神经网络:
- Category features -> Embedding Layer.
- Continuous feature -> Dense Layer or to Embedding Layer after discretization/categorization.
- Embedding/Dense layers -> Feature Interactions/Extractions nets.
- Stacking(add/concat) outputs of nets as the output of the model.
![_images/architecture.png](_images/architecture.png)
为什么使用DeepTables?¶
- 免费预处理和处理。
- 对于没有建模能力的初学者或业务分析师来说很容易上手。
- 比传统机器学习算法更简单,传统算法高度依赖手动特征工程。
- 开箱即用的卓越性能。
- 内置了一组神经网络组件(NETs),这些组件基于近年来最优秀的研究成果。
- 极其易于使用。
- 只需5行代码即可完成任何数据集的建模。
- 非常开放的架构设计。
- 支持插件扩展。
示例¶
from deeptables.models.deeptable import DeepTable, ModelConfig
from deeptables.models.deepnets import DeepFM
dt = DeepTable(ModelConfig(nets=DeepFM))
dt.fit(X, y)
preds = dt.predict(X_test)