The currently supported algorithms:
- MemoNet: MemoNet: MemoNet: Memorizing All Cross Features' Representations Efficiently via Multi-Hash Codebook Network for CTR Prediction
- FiBiNet++: FiBiNet++: Reducing Model Size by Low Rank Feature Interaction Layer for CTR Prediction
- FiBiNet: FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction .
The following algorithms are planned to be supported:
- GateNet: GateNet: Gating-Enhanced Deep Network for Click-Through Rate Prediction
- ContextNet: ContextNet: A Click-Through Rate Prediction Framework Using Contextual information to Refine Feature Embedding
- MaskNet: MaskNet: Introducing Feature-Wise Multiplication to CTR Ranking Models by Instance-Guided Mask
- Python >= 3.6.8
- TensorFlow-GPU == 1.14
-
Install TensorFlow-GPU 1.14
-
Clone this repo
-
Links of datasets are:
-
You can download the original datasets and preprocess them by yourself. Run
python -u -m rec_alg.preprocessing.{dataset_name}.{dataset_name}_process
to preprocess the datasets.dataset_name
can becriteo
,avazu
orkdd12
. -
This repo also contains a demo dataset of criteo, which contains 100,000 samples and has been preprocessed. It is used to help demonstrate models here.
You can use python -u -m rec_alg.model.memonet.run_memonet
to train a specific model on a dataset. Parameters could be found in the code.
You can use python -u -m rec_alg.model.fibinet.run_fibinet --version {version} --config {config_path}
to train a specific model on a dataset.
Some important parameters are list below, and other hyper-parameters can be found in the code.
- version: model version, supports
v1
,++
, andcustom
, default to++
. Forcustom
, you can adjust all parameter values flexibly. - config_path: specifies the paths of the input/output files and the fields of the dataset. It is generated during dataset preprocessing. Support values:
./config/criteo/config_dense.json
,./config/avazu/config_sparse.json
. - mode: running mode, supports
train
,retrain
,test
.
Part of the code comes from DeepCTR.