Skip to main content

A configurable, tunable, and reproducible library for CTR prediction

Project description

Logo
Python version Pytorch 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 tasks.

Key Features

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

  • Tunable: Models can be automatically tuned through easy configurations.

  • Reproducible: All the benchmarks can be easily reproduced.

  • Extensible: It supports both pytorch and tensorflow models, and can be easily extended to any new models.

Model Zoo

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

Dependencies

FuxiCTR has the following dependency requirements.

  • python 3.6+
  • pytorch 1.10+ (required only for torch models)
  • tensorflow 2.1+ (required only for tf models)

Other packages can be installed via pip install -r requirements.txt.

Quick Start

  1. Run the demo examples

    Examples are provided in the demo directory to show some basic usage of FuxiCTR. Users can run the examples for quick start and to understand the workflow.

    cd demo
    python example1_build_dataset_to_h5.py
    python example2_DeepFM_with_h5_input.py
    
  2. Run an existing model

    Users can easily run each model in the model zoo following the commands below, which is a demo for running DCN. In addition, users can modify the dataset config and model config files to run on their own datasets or with new hyper-parameters. More details can be found in the readme file.

    cd model_zoo/DCN/DCN_torch
    python run_expid.py --expid DCN_test --gpu 0
    
  3. Implement a new model

    The FuxiCTR code structure is modularized, so that every part can be overwritten by users according to their needs. In many cases, only the model class needs to be implemented for a new customized model. If data preprocessing or data loader is not directly applicable, one can also overwrite a new one through the core APIs. A complete example can be found at model_zoo/FinalMLP, which implements our new model FinalMLP that has been recently published in AAAI 2023. Some other examples are also available in the model zoo.

Citation

:bell: 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]

Jieming Zhu, Quanyu Dai, Liangcai Su, Rong Ma, Jinyang Liu, Guohao Cai, Xi Xiao, Rui Zhang. BARS: Towards Open Benchmarking for Recommender Systems. The 45th International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR), 2022. [Bibtex]

Discussion

Welcome to join our WeChat group for any question and discussion. We also have open positions for internships and full-time jobs. If you are interested in research and practice in recommender systems, please reach out via our WeChat group.

Scan QR code

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fuxictr-2.0.1.tar.gz (48.0 kB view details)

Uploaded Source

Built Distribution

fuxictr-2.0.1-py3-none-any.whl (86.5 kB view details)

Uploaded Python 3

File details

Details for the file fuxictr-2.0.1.tar.gz.

File metadata

  • Download URL: fuxictr-2.0.1.tar.gz
  • Upload date:
  • Size: 48.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.9.6 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.10.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for fuxictr-2.0.1.tar.gz
Algorithm Hash digest
SHA256 b1af4f2bf2a4f6edc7e67a11c8d33095a7864c965f9ab7294319d9eb877ecda4
MD5 f7401eafef43a331184451e7d3e6a9a9
BLAKE2b-256 7775465dcb9ab4a9340a35a41b6688a2f0480588c949d9a1f900f3e91088a7c9

See more details on using hashes here.

Provenance

File details

Details for the file fuxictr-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: fuxictr-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 86.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.9.6 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.10.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for fuxictr-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 de9429fa81bda0d4e296b875678a8d414cdf3fb0bc60da88fab890da5ebb6bf9
MD5 bf17c7966ef8912fccdb71cdd9765bcc
BLAKE2b-256 edf0ef01142bfd3ea02bf844e6a4e202a05ce4e400731334cfa29959425acf11

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page