/FuxiCTR

A configurable, tunable, and reproducible library for CTR prediction

Primary LanguagePythonApache License 2.0Apache-2.0

Logo
Tutorials Python version Pytorch version Pypi version Downloads License Wechat QR code

Click-through rate (CTR) prediction is a critical task for many industrial applications such as online advertising, recommender systems, and sponsored search. FuxiCTR provides an open-source library for CTR prediction, with key features in configurability, tunability, and reproducibility. We hope this project could benefit both researchers and practitioners with the goal of open benchmarking for CTR prediction.

This repo is the community dev version of the original release at huawei-noah/benchmark/FuxiCTR.

πŸ”” If you find our code or benchmarks helpful in your research, please kindly cite the following papers.

Jieming Zhu, Jinyang Liu, Shuai Yang, Qi Zhang, Xiuqiang He. Open Benchmarking for Click-Through Rate Prediction. The 30th ACM International Conference on Information and Knowledge Management (CIKM), 2021. [Bibtex]

Key Features

  • Configurable: Both data preprocessing and models are modularized and configurable.

  • Tunable: Models can be automatically tuned with easy configuration.

  • Reproducible: All the benchmarks can be easily reproduced.

Model List

No Publication Model Paper Benchmark
1 WWW'07 LR Predicting Clicks: Estimating the Click-Through Rate for New Ads 🚩Microsoft ↗️
2 ICDM'10 FM Factorization Machines ↗️
3 CIKM'13 DSSM Learning Deep Structured Semantic Models for Web Search using Clickthrough Data 🚩Microsoft ↗️
4 CIKM'15 CCPM A Convolutional Click Prediction Model ↗️
5 RecSys'16 FFM Field-aware Factorization Machines for CTR Prediction 🚩Criteo ↗️
6 RecSys'16 YoutubeDNN Deep Neural Networks for YouTube Recommendations 🚩Google ↗️
7 DLRS'16 Wide&Deep Wide & Deep Learning for Recommender Systems 🚩Google ↗️
8 ICDM'16 IPNN Product-based Neural Networks for User Response Prediction ↗️
9 KDD'16 DeepCross Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features 🚩Microsoft ↗️
10 NIPS'16 HOFM Higher-Order Factorization Machines ↗️
11 IJCAI'17 DeepFM DeepFM: A Factorization-Machine based Neural Network for CTR Prediction 🚩Huawei ↗️
12 SIGIR'17 NFM Neural Factorization Machines for Sparse Predictive Analytics ↗️
13 IJCAI'17 AFM Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks ↗️
14 ADKDD'17 DCN Deep & Cross Network for Ad Click Predictions 🚩Google ↗️
15 WWW'18 FwFM Field-weighted Factorization Machines for Click-Through Rate Prediction in Display Advertising 🚩Oath, TouchPal, LinkedIn, Alibaba ↗️
16 KDD'18 xDeepFM xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems 🚩Microsoft ↗️
17 KDD'18 DIN Deep Interest Network for Click-Through Rate Prediction 🚩Alibaba
18 CIKM'19 FiGNN FiGNN: Modeling Feature Interactions via Graph Neural Networks for CTR Prediction ↗️
19 CIKM'19 AutoInt/AutoInt+ AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks ↗️
20 RecSys'19 FiBiNET FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction 🚩Sina Weibo ↗️
21 WWW'19 FGCNN Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction 🚩Huawei ↗️
22 AAAI'19 HFM/HFM+ Holographic Factorization Machines for Recommendation ↗️
23 Arxiv'19 DLRM Deep Learning Recommendation Model for Personalization and Recommendation Systems 🚩Facebook ↗️
24 NeuralNetworks'20 ONN Operation-aware Neural Networks for User Response Prediction ↗️
25 AAAI'20 AFN/AFN+ Adaptive Factorization Network: Learning Adaptive-Order Feature Interactions ↗️
26 AAAI'20 LorentzFM Learning Feature Interactions with Lorentzian Factorization 🚩eBay ↗️
27 WSDM'20 InterHAt Interpretable Click-through Rate Prediction through Hierarchical Attention 🚩NEC Labs, Google ↗️
28 DLP-KDD'20 FLEN FLEN: Leveraging Field for Scalable CTR Prediction 🚩Tencent ↗️
29 CIKM'20 DeepIM Deep Interaction Machine: A Simple but Effective Model for High-order Feature Interactions 🚩Alibaba, RealAI ↗️
30 WWW'21 FmFM FM^2: Field-matrixed Factorization Machines for Recommender Systems 🚩Yahoo ↗️
31 WWW'21 DCN-V2 DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems 🚩Google ↗️
32 CIKM'21 DESTINE Disentangled Self-Attentive Neural Networks for Click-Through Rate Prediction 🚩Alibaba ↗️
33 CIKM'21 EDCN Enhancing Explicit and Implicit Feature Interactions via Information Sharing for Parallel Deep CTR Models 🚩Huawei ↗️
34 DLP-KDD'21 MaskNet MaskNet: Introducing Feature-Wise Multiplication to CTR Ranking Models by Instance-Guided Mask 🚩Sina Weibo ↗️
35 SIGIR'21 SAM Looking at CTR Prediction Again: Is Attention All You Need? 🚩BOSS Zhipin ↗️
36 KDD'21 AOANet Architecture and Operation Adaptive Network for Online Recommendations 🚩Didi Chuxing ↗️

Installation

Please follow the guide for installation. In particular, FuxiCTR has the following dependent requirements.

  • python 3.6
  • pytorch v1.0/v1.1
  • pyyaml >=5.1
  • scikit-learn
  • pandas
  • numpy
  • h5py
  • tqdm

Tutorials | 中文教程

  1. Run the demo to understand the overall workflow

  2. How to use dataset and model config files

  3. How to preprocess raw csv data to h5 data

  4. How to use h5 data as input

  5. How to make configurations?

  6. How to tune the model hyper-parameters via grid search

  7. How to use sequence features

  8. How to load pretrained embeddings as features

API Documentation

Check an overview of code structure for details on API design.

Discussion

Welcome to join our WeChat group for any question and discussion.

Scan QR code

Join Us

We have open positions for internships and full-time jobs. If you are interested in research and practice in recommender systems, please send your CV to jamie.zhu@huawei.com.