Skip to content

baojunshan/ctr4keras

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ctr4keras

  • 更清晰、更轻量的keras版本的ctr模型库
  • 使用方法详见ctr4keras/examples

说明

感谢浅梦大佬的DeepCTR 和苏神的bert4keras ,本实现有不少地方借鉴了DeepCTR和bert4keras的代码。

功能

  • 支持多种特征结构的输入,包含连续型(dense)离散型(sparse)有序型多值离散型时间序列型 特征
  • 支持各种CTR模型的训练
  • 支持常见ctr损失函数,如focal loss
  • 支持各种组件(layer)的拼接,得到新模型(model)
  • 支持结果可视化和tf serving的部署
  • 支持各种深度学习模型与lambda结合的排序模型

主要框架

Frame

模型

Finished Model Paper
LR [1986] Logistic Regression
FM [IEEE 2010]Factorization Machines
CCPM [CIKM 2015]A Convolutional Click Prediction Model
FNN [ECIR 2016]Deep Learning over Multi-field Categorical Data: A Case Study on User Response Prediction
DWL [DLRS 2016]Wide & Deep Learning for Recommender Systems
DeepFM [IJCAI 2017]DeepFM: A Factorization-Machine based Neural Network for CTR Prediction
DCN [ADKDD 2017]Deep & Cross Network for Ad Click Predictions
NFM [SIGIR 2017]Neural Factorization Machines for Sparse Predictive Analytics
AFM [IJCAI 2017]Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks
DIN [KDD 2018]Deep Interest Network for Click-Through Rate Prediction
AutoInt [CIKM 2019]AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks
BST [DLP-KDD 2019]Behavior sequence transformer for e-commerce recommendation in Alibaba
DIEN [AAAI 2019]Deep Interest Evolution Network for Click-Through Rate Prediction
DSIN [IJCAI 2019]Deep Session Interest Network for Click-Through Rate Prediction
DeepAFM

更新

  • 2022.06.09: 新增rank和lambda两种pairwise的训练方法,适用于所有深度学习模型
  • 2021.04.25: 加入DINBST
  • 2021.04.22: 加入AutoInt,特征可以定制vocab
  • 2021.04.20: 加入gauc评估指标,加入全局种子便于结果复现
  • 2021.04.16: 支持NFMCCPMAFMDeepAFM
  • 2021.04.14: 支持LRFMDWLFNNDeepFMDCN,加入focal loss

使用

Lambda使用:模型生成时插入深度学习模型即可,详情见examples/run_lambda_dcn.py

model = LambdaRanker(
    module=DCN,  # 可以是其他任意模型
    features=preprocessor.features,
    cross_layer_num=5,
    dense_emb_dim=4,
    dense_hidden_dims=[128, 128, 32],
    regularizer=1e-5
)

Releases

No releases published

Packages

No packages published

Languages