Welcome to DeepTables¶
DeepTables: 表格式数据深度学习工具包¶
DeepTables(DT)是一个易用的工具包,在结构化数据上释放深度学习的洪荒之力。
Overview¶
MLP(也称为全连接神经网络)在学习分布表示方面表现出低效。感知器层的“添加”操作在探索乘法特征交互方面表现不佳。在大多数情况下,手工特征工程是必要的,这项工作需要广泛的领域知识和非常繁琐。如何在神经网络中有效地学习特征间的相互作用成为最重要的问题。
近年来,已有许多模型被提出用于CTR预测,并继续优于现有的最新方法。众所周知的例子有FM、DeepFM、Wide&Deep、DCN、PNN等,这些模型在合理利用表格式数据的情况下也能提供良好的性能。
DT致力于利用最新的研究成果为用户提供一个关于表格数据的端到端工具包。
设计DT时考虑到了这些关键目标:
- 使用方便,非专家也可以使用。
- 默认配置下提供良好的性能。
- 结构灵活,易于用户扩展。
DT构建神经网络遵循以下步骤:
- 提取到类别型特征送到Embedding层。
- 连续型特征送到Dense层或者离散化类别化后送到embedding层处理。
- Embedding/Dense层输出到不同的网络组件中。
- 不同的网络组件通过Add/Concat操作融合后作为模型的输出。
DeepTables的优势¶
- 特征预处理或者加工简单。
- 不管是数据科学家还是没有建模能力的业务人员都可以使用。
- 比传统高度依赖特征工程的机器学习简单易用。
- 默认配置下具有良好的性能
- 包含了一系列近几年的最优秀的网络组件。
- 非常容易上手。
- 5行代码就可以训练任何表格数据集。
- 开放架构设计。
- 支持插件扩展。
Example¶
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)