%global _empty_manifest_terminate_build 0
Name: python-reclearn
Version: 1.1.0
Release: 1
Summary: A simple package about learning recommendation
License: MIT
URL: https://github.com/ZiyaoGeng/RecLearn
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/20/1b/7418016d4febdfef54b57359b747fed954ba8b775c4f974921a1c128fbe1/reclearn-1.1.0.tar.gz
BuildArch: noarch
%description
## RecLearn
[简体中文](https://github.com/ZiyaoGeng/Recommender-System-with-TF2.0/blob/reclearn/README_CN.md) | [English](https://github.com/ZiyaoGeng/Recommender-System-with-TF2.0/tree/reclearn)
RecLearn (Recommender Learning) which summarizes the contents of the [master](https://github.com/ZiyaoGeng/RecLearn/tree/master) branch in `Recommender System with TF2.0 ` is a recommended learning framework based on Python and TensorFlow2.x for students and beginners. **Of course, if you are more comfortable with the master branch, you can clone the entire package, run some algorithms in example, and also update and modify the content of model and layer**. The implemented recommendation algorithms are classified according to two application stages in the industry:
- matching recommendation stage (Top-k Recmmendation)
- ranking recommendeation stage (CTR predict model)
## Update
**04/23/2022**: update all matching model.
## Installation
### Package
RecLearn is on PyPI, so you can use pip to install it.
```
pip install reclearn
```
dependent environment:
- python3.8+
- Tensorflow2.5-GPU+/Tensorflow2.5-CPU+
- sklearn0.23+
### Local
Clone Reclearn to local:
```shell
git clone -b reclearn git@github.com:ZiyaoGeng/RecLearn.git
```
## Quick Start
In [example](https://github.com/ZiyaoGeng/Recommender-System-with-TF2.0/tree/reclearn/example), we have given a demo of each of the recommended models.
### Matching
**1. Divide the dataset.**
Set the path of the raw dataset:
```python
file_path = 'data/ml-1m/ratings.dat'
```
Please divide the current dataset into training dataset, validation dataset and test dataset. If you use `movielens-1m`, `Amazon-Beauty`, `Amazon-Games` and `STEAM`, you can call method `data/datasets/*` of RecLearn directly:
```python
train_path, val_path, test_path, meta_path = ml.split_seq_data(file_path=file_path)
```
`meta_path` indicates the path of the metafile, which stores the maximum number of user and item indexes.
**2. Load the dataset.**
Complete the loading of training dataset, validation dataset and test dataset, and generate several negative samples (random sampling) for each positive sample. The format of data is dictionary:
```python
data = {'pos_item':, 'neg_item': , ['user': , 'click_seq': ,...]}
```
If you're building a sequential recommendation model, you need to introduce click sequences. Reclearn provides methods for loading the data for the above four datasets:
```python
# general recommendation model
train_data = ml.load_data(train_path, neg_num, max_item_num)
# sequence recommendation model, and use the user feature.
train_data = ml.load_seq_data(train_path, "train", seq_len, neg_num, max_item_num, contain_user=True)
```
**3. Set hyper-parameters.**
The model needs to specify the required hyperparameters. Now, we take `BPR` model as an example:
```python
model_params = {
'user_num': max_user_num + 1,
'item_num': max_item_num + 1,
'embed_dim': FLAGS.embed_dim,
'use_l2norm': FLAGS.use_l2norm,
'embed_reg': FLAGS.embed_reg
}
```
**4. Build and compile the model.**
Select or build the model you need and compile it. Take 'BPR' as an example:
```python
model = BPR(**model_params)
model.compile(optimizer=Adam(learning_rate=FLAGS.learning_rate))
```
If you have problems with the structure of the model, you can call the summary method after compilation to print it out:
```python
model.summary()
```
**5. Learn the model and predict test dataset.**
```python
for epoch in range(1, epochs + 1):
t1 = time()
model.fit(
x=train_data,
epochs=1,
validation_data=val_data,
batch_size=batch_size
)
t2 = time()
eval_dict = eval_pos_neg(model, test_data, ['hr', 'mrr', 'ndcg'], k, batch_size)
print('Iteration %d Fit [%.1f s], Evaluate [%.1f s]: HR = %.4f, MRR = %.4f, NDCG = %.4f'
% (epoch, t2 - t1, time() - t2, eval_dict['hr'], eval_dict['mrr'], eval_dict['ndcg']))
```
### Ranking
Waiting......
## Results
The experimental environment designed by Reclearn is different from that of some papers, so there may be some deviation in the results. Please refer to [Experiement](./docs/experiment.md) for details.
### Matching
Model |
ml-1m |
Beauty |
STEAM |
HR@10 | MRR@10 | NDCG@10 |
HR@10 | MRR@10 | NDCG@10 |
HR@10 | MRR@10 | NDCG@10 |
BPR | 0.5768 | 0.2392 | 0.3016 | 0.3708 | 0.2108 | 0.2485 | 0.7728 | 0.4220 | 0.5054 |
NCF | 0.5834 | 0.2219 | 0.3060 | 0.5448 | 0.2831 | 0.3451 | 0.7768 | 0.4273 | 0.5103 |
DSSM | 0.5498 | 0.2148 | 0.2929 | - | - | - | - | - | - |
YoutubeDNN | 0.6737 | 0.3414 | 0.4201 | - | - | - | - | - | - |
GRU4Rec | 0.7969 | 0.4698 | 0.5483 | 0.5211 | 0.2724 | 0.3312 | 0.8501 | 0.5486 | 0.6209 |
Caser | 0.7916 | 0.4450 | 0.5280 | 0.5487 | 0.2884 | 0.3501 | 0.8275 | 0.5064 | 0.5832 |
SASRec | 0.8103 | 0.4812 | 0.5605 | 0.5230 | 0.2781 | 0.3355 | 0.8606 | 0.5669 | 0.6374 |
AttRec | 0.7873 | 0.4578 | 0.5363 | 0.4995 | 0.2695 | 0.3229 | - | - | - |
FISSA | 0.8106 | 0.4953 | 0.5713 | 0.5431 | 0.2851 | 0.3462 | 0.8635 | 0.5682 | 0.6391 |
### Ranking
Model |
500w(Criteo) |
Criteo |
Log Loss |
AUC |
Log Loss |
AUC |
FM | 0.4765 | 0.7783 | 0.4762 | 0.7875 |
FFM | - | - | - | - |
WDL | 0.4684 | 0.7822 | 0.4692 | 0.7930 |
Deep Crossing | 0.4670 | 0.7826 | 0.4693 | 0.7935 |
PNN | - | 0.7847 | - | - |
DCN | - | 0.7823 | 0.4691 | 0.7929 |
NFM | 0.4773 | 0.7762 | 0.4723 | 0.7889 |
AFM | 0.4819 | 0.7808 | 0.4692 | 0.7871 |
DeepFM | - | 0.7828 | 0.4650 | 0.8007 |
xDeepFM | 0.4690 | 0.7839 | 0.4696 | 0.7919 |
## Model List
### 1. Matching Stage
| Paper\|Model | Published | Author |
| :----------------------------------------------------------: | :----------: | :------------: |
| BPR: Bayesian Personalized Ranking from Implicit Feedback\|**MF-BPR** | UAI, 2009 | Steffen Rendle |
| Neural network-based Collaborative Filtering\|**NCF** | WWW, 2017 | Xiangnan He |
| Learning Deep Structured Semantic Models for Web Search using Clickthrough Data\|**DSSM** | CIKM, 2013 | Po-Sen Huang |
| Deep Neural Networks for YouTube Recommendations\| **YoutubeDNN** | RecSys, 2016 | Paul Covington |
| Session-based Recommendations with Recurrent Neural Networks\|**GUR4Rec** | ICLR, 2016 | Balázs Hidasi |
| Self-Attentive Sequential Recommendation\|**SASRec** | ICDM, 2018 | UCSD |
| Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding\|**Caser** | WSDM, 2018 | Jiaxi Tang |
| Next Item Recommendation with Self-Attentive Metric Learning\|**AttRec** | AAAAI, 2019 | Shuai Zhang |
| FISSA: Fusing Item Similarity Models with Self-Attention Networks for Sequential Recommendation\|**FISSA** | RecSys, 2020 | Jing Lin |
### 2. Ranking Stage
| Paper|Model | Published | Author |
| :----------------------------------------------------------: | :----------: | :----------------------------------------------------------: |
| Factorization Machines\|**FM** | ICDM, 2010 | Steffen Rendle |
| Field-aware Factorization Machines for CTR Prediction|**FFM** | RecSys, 2016 | Criteo Research |
| Wide & Deep Learning for Recommender Systems|**WDL** | DLRS, 2016 | Google Inc. |
| Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features\|**Deep Crossing** | KDD, 2016 | Microsoft Research |
| Product-based Neural Networks for User Response Prediction\|**PNN** | ICDM, 2016 | Shanghai Jiao Tong University |
| Deep & Cross Network for Ad Click Predictions|**DCN** | ADKDD, 2017 | Stanford University|Google Inc. |
| Neural Factorization Machines for Sparse Predictive Analytics\|**NFM** | SIGIR, 2017 | Xiangnan He |
| Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks\|**AFM** | IJCAI, 2017 | Zhejiang University\|National University of Singapore |
| DeepFM: A Factorization-Machine based Neural Network for CTR Prediction\|**DeepFM** | IJCAI, 2017 | Harbin Institute of Technology\|Noah’s Ark Research Lab, Huawei |
| xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems\|**xDeepFM** | KDD, 2018 | University of Science and Technology of China |
| Deep Interest Network for Click-Through Rate Prediction\|**DIN** | KDD, 2018 | Alibaba Group |
## Discussion
1. If you have any suggestions or questions about the project, you can leave a comment on `Issue`.
2. wechat:
%package -n python3-reclearn
Summary: A simple package about learning recommendation
Provides: python-reclearn
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-reclearn
## RecLearn
[简体中文](https://github.com/ZiyaoGeng/Recommender-System-with-TF2.0/blob/reclearn/README_CN.md) | [English](https://github.com/ZiyaoGeng/Recommender-System-with-TF2.0/tree/reclearn)
RecLearn (Recommender Learning) which summarizes the contents of the [master](https://github.com/ZiyaoGeng/RecLearn/tree/master) branch in `Recommender System with TF2.0 ` is a recommended learning framework based on Python and TensorFlow2.x for students and beginners. **Of course, if you are more comfortable with the master branch, you can clone the entire package, run some algorithms in example, and also update and modify the content of model and layer**. The implemented recommendation algorithms are classified according to two application stages in the industry:
- matching recommendation stage (Top-k Recmmendation)
- ranking recommendeation stage (CTR predict model)
## Update
**04/23/2022**: update all matching model.
## Installation
### Package
RecLearn is on PyPI, so you can use pip to install it.
```
pip install reclearn
```
dependent environment:
- python3.8+
- Tensorflow2.5-GPU+/Tensorflow2.5-CPU+
- sklearn0.23+
### Local
Clone Reclearn to local:
```shell
git clone -b reclearn git@github.com:ZiyaoGeng/RecLearn.git
```
## Quick Start
In [example](https://github.com/ZiyaoGeng/Recommender-System-with-TF2.0/tree/reclearn/example), we have given a demo of each of the recommended models.
### Matching
**1. Divide the dataset.**
Set the path of the raw dataset:
```python
file_path = 'data/ml-1m/ratings.dat'
```
Please divide the current dataset into training dataset, validation dataset and test dataset. If you use `movielens-1m`, `Amazon-Beauty`, `Amazon-Games` and `STEAM`, you can call method `data/datasets/*` of RecLearn directly:
```python
train_path, val_path, test_path, meta_path = ml.split_seq_data(file_path=file_path)
```
`meta_path` indicates the path of the metafile, which stores the maximum number of user and item indexes.
**2. Load the dataset.**
Complete the loading of training dataset, validation dataset and test dataset, and generate several negative samples (random sampling) for each positive sample. The format of data is dictionary:
```python
data = {'pos_item':, 'neg_item': , ['user': , 'click_seq': ,...]}
```
If you're building a sequential recommendation model, you need to introduce click sequences. Reclearn provides methods for loading the data for the above four datasets:
```python
# general recommendation model
train_data = ml.load_data(train_path, neg_num, max_item_num)
# sequence recommendation model, and use the user feature.
train_data = ml.load_seq_data(train_path, "train", seq_len, neg_num, max_item_num, contain_user=True)
```
**3. Set hyper-parameters.**
The model needs to specify the required hyperparameters. Now, we take `BPR` model as an example:
```python
model_params = {
'user_num': max_user_num + 1,
'item_num': max_item_num + 1,
'embed_dim': FLAGS.embed_dim,
'use_l2norm': FLAGS.use_l2norm,
'embed_reg': FLAGS.embed_reg
}
```
**4. Build and compile the model.**
Select or build the model you need and compile it. Take 'BPR' as an example:
```python
model = BPR(**model_params)
model.compile(optimizer=Adam(learning_rate=FLAGS.learning_rate))
```
If you have problems with the structure of the model, you can call the summary method after compilation to print it out:
```python
model.summary()
```
**5. Learn the model and predict test dataset.**
```python
for epoch in range(1, epochs + 1):
t1 = time()
model.fit(
x=train_data,
epochs=1,
validation_data=val_data,
batch_size=batch_size
)
t2 = time()
eval_dict = eval_pos_neg(model, test_data, ['hr', 'mrr', 'ndcg'], k, batch_size)
print('Iteration %d Fit [%.1f s], Evaluate [%.1f s]: HR = %.4f, MRR = %.4f, NDCG = %.4f'
% (epoch, t2 - t1, time() - t2, eval_dict['hr'], eval_dict['mrr'], eval_dict['ndcg']))
```
### Ranking
Waiting......
## Results
The experimental environment designed by Reclearn is different from that of some papers, so there may be some deviation in the results. Please refer to [Experiement](./docs/experiment.md) for details.
### Matching
Model |
ml-1m |
Beauty |
STEAM |
HR@10 | MRR@10 | NDCG@10 |
HR@10 | MRR@10 | NDCG@10 |
HR@10 | MRR@10 | NDCG@10 |
BPR | 0.5768 | 0.2392 | 0.3016 | 0.3708 | 0.2108 | 0.2485 | 0.7728 | 0.4220 | 0.5054 |
NCF | 0.5834 | 0.2219 | 0.3060 | 0.5448 | 0.2831 | 0.3451 | 0.7768 | 0.4273 | 0.5103 |
DSSM | 0.5498 | 0.2148 | 0.2929 | - | - | - | - | - | - |
YoutubeDNN | 0.6737 | 0.3414 | 0.4201 | - | - | - | - | - | - |
GRU4Rec | 0.7969 | 0.4698 | 0.5483 | 0.5211 | 0.2724 | 0.3312 | 0.8501 | 0.5486 | 0.6209 |
Caser | 0.7916 | 0.4450 | 0.5280 | 0.5487 | 0.2884 | 0.3501 | 0.8275 | 0.5064 | 0.5832 |
SASRec | 0.8103 | 0.4812 | 0.5605 | 0.5230 | 0.2781 | 0.3355 | 0.8606 | 0.5669 | 0.6374 |
AttRec | 0.7873 | 0.4578 | 0.5363 | 0.4995 | 0.2695 | 0.3229 | - | - | - |
FISSA | 0.8106 | 0.4953 | 0.5713 | 0.5431 | 0.2851 | 0.3462 | 0.8635 | 0.5682 | 0.6391 |
### Ranking
Model |
500w(Criteo) |
Criteo |
Log Loss |
AUC |
Log Loss |
AUC |
FM | 0.4765 | 0.7783 | 0.4762 | 0.7875 |
FFM | - | - | - | - |
WDL | 0.4684 | 0.7822 | 0.4692 | 0.7930 |
Deep Crossing | 0.4670 | 0.7826 | 0.4693 | 0.7935 |
PNN | - | 0.7847 | - | - |
DCN | - | 0.7823 | 0.4691 | 0.7929 |
NFM | 0.4773 | 0.7762 | 0.4723 | 0.7889 |
AFM | 0.4819 | 0.7808 | 0.4692 | 0.7871 |
DeepFM | - | 0.7828 | 0.4650 | 0.8007 |
xDeepFM | 0.4690 | 0.7839 | 0.4696 | 0.7919 |
## Model List
### 1. Matching Stage
| Paper\|Model | Published | Author |
| :----------------------------------------------------------: | :----------: | :------------: |
| BPR: Bayesian Personalized Ranking from Implicit Feedback\|**MF-BPR** | UAI, 2009 | Steffen Rendle |
| Neural network-based Collaborative Filtering\|**NCF** | WWW, 2017 | Xiangnan He |
| Learning Deep Structured Semantic Models for Web Search using Clickthrough Data\|**DSSM** | CIKM, 2013 | Po-Sen Huang |
| Deep Neural Networks for YouTube Recommendations\| **YoutubeDNN** | RecSys, 2016 | Paul Covington |
| Session-based Recommendations with Recurrent Neural Networks\|**GUR4Rec** | ICLR, 2016 | Balázs Hidasi |
| Self-Attentive Sequential Recommendation\|**SASRec** | ICDM, 2018 | UCSD |
| Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding\|**Caser** | WSDM, 2018 | Jiaxi Tang |
| Next Item Recommendation with Self-Attentive Metric Learning\|**AttRec** | AAAAI, 2019 | Shuai Zhang |
| FISSA: Fusing Item Similarity Models with Self-Attention Networks for Sequential Recommendation\|**FISSA** | RecSys, 2020 | Jing Lin |
### 2. Ranking Stage
| Paper|Model | Published | Author |
| :----------------------------------------------------------: | :----------: | :----------------------------------------------------------: |
| Factorization Machines\|**FM** | ICDM, 2010 | Steffen Rendle |
| Field-aware Factorization Machines for CTR Prediction|**FFM** | RecSys, 2016 | Criteo Research |
| Wide & Deep Learning for Recommender Systems|**WDL** | DLRS, 2016 | Google Inc. |
| Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features\|**Deep Crossing** | KDD, 2016 | Microsoft Research |
| Product-based Neural Networks for User Response Prediction\|**PNN** | ICDM, 2016 | Shanghai Jiao Tong University |
| Deep & Cross Network for Ad Click Predictions|**DCN** | ADKDD, 2017 | Stanford University|Google Inc. |
| Neural Factorization Machines for Sparse Predictive Analytics\|**NFM** | SIGIR, 2017 | Xiangnan He |
| Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks\|**AFM** | IJCAI, 2017 | Zhejiang University\|National University of Singapore |
| DeepFM: A Factorization-Machine based Neural Network for CTR Prediction\|**DeepFM** | IJCAI, 2017 | Harbin Institute of Technology\|Noah’s Ark Research Lab, Huawei |
| xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems\|**xDeepFM** | KDD, 2018 | University of Science and Technology of China |
| Deep Interest Network for Click-Through Rate Prediction\|**DIN** | KDD, 2018 | Alibaba Group |
## Discussion
1. If you have any suggestions or questions about the project, you can leave a comment on `Issue`.
2. wechat:
%package help
Summary: Development documents and examples for reclearn
Provides: python3-reclearn-doc
%description help
## RecLearn
[简体中文](https://github.com/ZiyaoGeng/Recommender-System-with-TF2.0/blob/reclearn/README_CN.md) | [English](https://github.com/ZiyaoGeng/Recommender-System-with-TF2.0/tree/reclearn)
RecLearn (Recommender Learning) which summarizes the contents of the [master](https://github.com/ZiyaoGeng/RecLearn/tree/master) branch in `Recommender System with TF2.0 ` is a recommended learning framework based on Python and TensorFlow2.x for students and beginners. **Of course, if you are more comfortable with the master branch, you can clone the entire package, run some algorithms in example, and also update and modify the content of model and layer**. The implemented recommendation algorithms are classified according to two application stages in the industry:
- matching recommendation stage (Top-k Recmmendation)
- ranking recommendeation stage (CTR predict model)
## Update
**04/23/2022**: update all matching model.
## Installation
### Package
RecLearn is on PyPI, so you can use pip to install it.
```
pip install reclearn
```
dependent environment:
- python3.8+
- Tensorflow2.5-GPU+/Tensorflow2.5-CPU+
- sklearn0.23+
### Local
Clone Reclearn to local:
```shell
git clone -b reclearn git@github.com:ZiyaoGeng/RecLearn.git
```
## Quick Start
In [example](https://github.com/ZiyaoGeng/Recommender-System-with-TF2.0/tree/reclearn/example), we have given a demo of each of the recommended models.
### Matching
**1. Divide the dataset.**
Set the path of the raw dataset:
```python
file_path = 'data/ml-1m/ratings.dat'
```
Please divide the current dataset into training dataset, validation dataset and test dataset. If you use `movielens-1m`, `Amazon-Beauty`, `Amazon-Games` and `STEAM`, you can call method `data/datasets/*` of RecLearn directly:
```python
train_path, val_path, test_path, meta_path = ml.split_seq_data(file_path=file_path)
```
`meta_path` indicates the path of the metafile, which stores the maximum number of user and item indexes.
**2. Load the dataset.**
Complete the loading of training dataset, validation dataset and test dataset, and generate several negative samples (random sampling) for each positive sample. The format of data is dictionary:
```python
data = {'pos_item':, 'neg_item': , ['user': , 'click_seq': ,...]}
```
If you're building a sequential recommendation model, you need to introduce click sequences. Reclearn provides methods for loading the data for the above four datasets:
```python
# general recommendation model
train_data = ml.load_data(train_path, neg_num, max_item_num)
# sequence recommendation model, and use the user feature.
train_data = ml.load_seq_data(train_path, "train", seq_len, neg_num, max_item_num, contain_user=True)
```
**3. Set hyper-parameters.**
The model needs to specify the required hyperparameters. Now, we take `BPR` model as an example:
```python
model_params = {
'user_num': max_user_num + 1,
'item_num': max_item_num + 1,
'embed_dim': FLAGS.embed_dim,
'use_l2norm': FLAGS.use_l2norm,
'embed_reg': FLAGS.embed_reg
}
```
**4. Build and compile the model.**
Select or build the model you need and compile it. Take 'BPR' as an example:
```python
model = BPR(**model_params)
model.compile(optimizer=Adam(learning_rate=FLAGS.learning_rate))
```
If you have problems with the structure of the model, you can call the summary method after compilation to print it out:
```python
model.summary()
```
**5. Learn the model and predict test dataset.**
```python
for epoch in range(1, epochs + 1):
t1 = time()
model.fit(
x=train_data,
epochs=1,
validation_data=val_data,
batch_size=batch_size
)
t2 = time()
eval_dict = eval_pos_neg(model, test_data, ['hr', 'mrr', 'ndcg'], k, batch_size)
print('Iteration %d Fit [%.1f s], Evaluate [%.1f s]: HR = %.4f, MRR = %.4f, NDCG = %.4f'
% (epoch, t2 - t1, time() - t2, eval_dict['hr'], eval_dict['mrr'], eval_dict['ndcg']))
```
### Ranking
Waiting......
## Results
The experimental environment designed by Reclearn is different from that of some papers, so there may be some deviation in the results. Please refer to [Experiement](./docs/experiment.md) for details.
### Matching
Model |
ml-1m |
Beauty |
STEAM |
HR@10 | MRR@10 | NDCG@10 |
HR@10 | MRR@10 | NDCG@10 |
HR@10 | MRR@10 | NDCG@10 |
BPR | 0.5768 | 0.2392 | 0.3016 | 0.3708 | 0.2108 | 0.2485 | 0.7728 | 0.4220 | 0.5054 |
NCF | 0.5834 | 0.2219 | 0.3060 | 0.5448 | 0.2831 | 0.3451 | 0.7768 | 0.4273 | 0.5103 |
DSSM | 0.5498 | 0.2148 | 0.2929 | - | - | - | - | - | - |
YoutubeDNN | 0.6737 | 0.3414 | 0.4201 | - | - | - | - | - | - |
GRU4Rec | 0.7969 | 0.4698 | 0.5483 | 0.5211 | 0.2724 | 0.3312 | 0.8501 | 0.5486 | 0.6209 |
Caser | 0.7916 | 0.4450 | 0.5280 | 0.5487 | 0.2884 | 0.3501 | 0.8275 | 0.5064 | 0.5832 |
SASRec | 0.8103 | 0.4812 | 0.5605 | 0.5230 | 0.2781 | 0.3355 | 0.8606 | 0.5669 | 0.6374 |
AttRec | 0.7873 | 0.4578 | 0.5363 | 0.4995 | 0.2695 | 0.3229 | - | - | - |
FISSA | 0.8106 | 0.4953 | 0.5713 | 0.5431 | 0.2851 | 0.3462 | 0.8635 | 0.5682 | 0.6391 |
### Ranking
Model |
500w(Criteo) |
Criteo |
Log Loss |
AUC |
Log Loss |
AUC |
FM | 0.4765 | 0.7783 | 0.4762 | 0.7875 |
FFM | - | - | - | - |
WDL | 0.4684 | 0.7822 | 0.4692 | 0.7930 |
Deep Crossing | 0.4670 | 0.7826 | 0.4693 | 0.7935 |
PNN | - | 0.7847 | - | - |
DCN | - | 0.7823 | 0.4691 | 0.7929 |
NFM | 0.4773 | 0.7762 | 0.4723 | 0.7889 |
AFM | 0.4819 | 0.7808 | 0.4692 | 0.7871 |
DeepFM | - | 0.7828 | 0.4650 | 0.8007 |
xDeepFM | 0.4690 | 0.7839 | 0.4696 | 0.7919 |
## Model List
### 1. Matching Stage
| Paper\|Model | Published | Author |
| :----------------------------------------------------------: | :----------: | :------------: |
| BPR: Bayesian Personalized Ranking from Implicit Feedback\|**MF-BPR** | UAI, 2009 | Steffen Rendle |
| Neural network-based Collaborative Filtering\|**NCF** | WWW, 2017 | Xiangnan He |
| Learning Deep Structured Semantic Models for Web Search using Clickthrough Data\|**DSSM** | CIKM, 2013 | Po-Sen Huang |
| Deep Neural Networks for YouTube Recommendations\| **YoutubeDNN** | RecSys, 2016 | Paul Covington |
| Session-based Recommendations with Recurrent Neural Networks\|**GUR4Rec** | ICLR, 2016 | Balázs Hidasi |
| Self-Attentive Sequential Recommendation\|**SASRec** | ICDM, 2018 | UCSD |
| Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding\|**Caser** | WSDM, 2018 | Jiaxi Tang |
| Next Item Recommendation with Self-Attentive Metric Learning\|**AttRec** | AAAAI, 2019 | Shuai Zhang |
| FISSA: Fusing Item Similarity Models with Self-Attention Networks for Sequential Recommendation\|**FISSA** | RecSys, 2020 | Jing Lin |
### 2. Ranking Stage
| Paper|Model | Published | Author |
| :----------------------------------------------------------: | :----------: | :----------------------------------------------------------: |
| Factorization Machines\|**FM** | ICDM, 2010 | Steffen Rendle |
| Field-aware Factorization Machines for CTR Prediction|**FFM** | RecSys, 2016 | Criteo Research |
| Wide & Deep Learning for Recommender Systems|**WDL** | DLRS, 2016 | Google Inc. |
| Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features\|**Deep Crossing** | KDD, 2016 | Microsoft Research |
| Product-based Neural Networks for User Response Prediction\|**PNN** | ICDM, 2016 | Shanghai Jiao Tong University |
| Deep & Cross Network for Ad Click Predictions|**DCN** | ADKDD, 2017 | Stanford University|Google Inc. |
| Neural Factorization Machines for Sparse Predictive Analytics\|**NFM** | SIGIR, 2017 | Xiangnan He |
| Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks\|**AFM** | IJCAI, 2017 | Zhejiang University\|National University of Singapore |
| DeepFM: A Factorization-Machine based Neural Network for CTR Prediction\|**DeepFM** | IJCAI, 2017 | Harbin Institute of Technology\|Noah’s Ark Research Lab, Huawei |
| xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems\|**xDeepFM** | KDD, 2018 | University of Science and Technology of China |
| Deep Interest Network for Click-Through Rate Prediction\|**DIN** | KDD, 2018 | Alibaba Group |
## Discussion
1. If you have any suggestions or questions about the project, you can leave a comment on `Issue`.
2. wechat:
%prep
%autosetup -n reclearn-1.1.0
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-reclearn -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Mon May 15 2023 Python_Bot - 1.1.0-1
- Package Spec generated