{"id":13698823,"url":"https://github.com/JianzhouZhan/Awesome-RecSystem-Models","last_synced_at":"2025-05-04T04:30:45.699Z","repository":{"id":41504713,"uuid":"206540395","full_name":"JianzhouZhan/Awesome-RecSystem-Models","owner":"JianzhouZhan","description":"Implements of Awesome RecSystem Models with PyTorch/TF2.0","archived":false,"fork":false,"pushed_at":"2020-04-04T05:44:50.000Z","size":938,"stargazers_count":257,"open_issues_count":0,"forks_count":68,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-30T12:20:19.124Z","etag":null,"topics":["ctr","dcn","deepfm","ffm","fm","pnn","pytorch","tensorflow2","xdeepfm"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JianzhouZhan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-05T10:47:59.000Z","updated_at":"2024-11-17T18:56:18.000Z","dependencies_parsed_at":"2022-09-21T11:02:37.989Z","dependency_job_id":null,"html_url":"https://github.com/JianzhouZhan/Awesome-RecSystem-Models","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JianzhouZhan%2FAwesome-RecSystem-Models","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JianzhouZhan%2FAwesome-RecSystem-Models/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JianzhouZhan%2FAwesome-RecSystem-Models/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JianzhouZhan%2FAwesome-RecSystem-Models/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JianzhouZhan","download_url":"https://codeload.github.com/JianzhouZhan/Awesome-RecSystem-Models/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252288912,"owners_count":21724323,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ctr","dcn","deepfm","ffm","fm","pnn","pytorch","tensorflow2","xdeepfm"],"created_at":"2024-08-02T19:00:53.473Z","updated_at":"2025-05-04T04:30:45.693Z","avatar_url":"https://github.com/JianzhouZhan.png","language":"Python","funding_links":[],"categories":["Recommendation, Advertisement \u0026 Ranking","Other 💛💛💛💛💛\u003ca name=\"Other\" /\u003e"],"sub_categories":["Others","推荐系统和CTR预测模型"],"readme":"# Implements of Awesome RecSystem Models with PyTorch/TF2.0\n\n\n### 1. Requirements\n- TensorFlow2.0, PyTorch1.2+, Python3.6, NumPy, sk-learn, Pandas\n\n### 2. DataSets\n- ##### Criteo\n    - This dataset Contains about 45 million records. There are 13 features taking integer values (mostly count features)\n    and 26 categorical features.\n    - The columns are tab separated with the following sechema: \u003clabel\u003e\u003cint feat 1\u003e...\u003cint feat 13\u003e\u003ccate feat 1\u003e...\u003ccate feat26\u003e\n    - The dataset is available at http://labs.criteo.com/2014/02/download-kaggle-display-advertising-challenge-dataset/\n    - Put the downloaded 'train.txt' file in 'data/Criteo/' folder.\n- ##### Movielens100K\n    - MovieLens 100K movie ratings. Stable benchmark dataset for Recommendation System. \n    - This dataset contain 100,000 ratings from 1000 users on 1700 movies.\n    - The details can be found at https://grouplens.org/datasets/movielens/100k/\n    - This dataset have been downloaded and is available at 'data/Movielens100K' \n### 3. Implemented Models:\n- ##### FM: Factorization Machine\n    - The paper is available at: https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf\n    - Tested dataset: Criteo\n    - Split the data set by 9:1 for train and test.\n    - How To Run:\n    Run data/forOtherModels/dataPreprocess_PyTorch.py to pre-process the data, then run Model/FM_PyTorch.py. Or\n    run data/forOtherModels/dataPreprocess_TensorFlow.py to pre-process the data, and run Model/FM_TensorFlow.py\n    - the result is AUC: 0.7805(PyTorch), 0.7791(TensorFlow)\n    - For Multi-Classification implements: \n        - Tested dataset: Movielens100K\n        - Run FM_Multi_PyTorch.py\n- ##### FFM: Field-aware Factorization Machine\n    - The paper is available at: https://www.csie.ntu.edu.tw/~cjlin/papers/ffm.pdf\n    - Tested dataset: Movielens100K\n    - Support Multi-Classification\n- ##### DeepFM: Factorization-Machine based Neural Network\n    - The paper is available at: https://www.ijcai.org/proceedings/2017/0239.pdf\n    - Tested dataset: Criteo\n    - Split the data set by 9:1 for train and test.\n    - How To Run:\n    Run data/forOtherModels/dataPreprocess_PyTorch.py to pre-process the data, then run Model/DeepFM_PyTorch.py. Or \n    run data/forOtherModels/dataPreprocess_TensorFlow.py to pre-process the data, and run Model/DeepFM_TensorFlow.py \n    - PyTorch: After 3 Epochs, AUC: 0.795(The paper result is 0.801)\n    - TensorFlow: After 3 Epochs, AUC: 0.8014, LogLoss: 0.4516\n- ##### DCN: Deep\u0026Cross Network\n    - The paper is available at: https://arxiv.org/pdf/1708.05123.pdf\n    - Tested dataset: Criteo\n    - Run data/forDCN/DCN_dataPreprocess_PyTorch.py to pre-process the data. According to the paper, the data set is split by 9:0.5:0.5 for train, test and valid\n    - Split the data set by 9:0.5:0.5 for train, test and valid\n    - Run Model/DeepCrossNetwork_PyTorch.py, and the results are as follows:\n    \n        |Epochs|AUC|LogLoss|\n        |-----|---|-------|\n        |1st|0.80157|0.45192|\n        |2nd|0.80430|0.44922|\n        |3rd|0.80546|0.44817|\n        |4th|0.80639|0.44729|\n        |5th|0.80696|0.44678|\n- ##### xDeepFM: eXtreme Deep Factorization Machine\n    - The Paper is available at: https://arxiv.org/pdf/1803.05170.pdf\n    - Tested dataset: Criteo\n    - Split the data set by 9:1 for train and test.\n    - Run data/forXDeepFM/xDeepFM_dataPreprocess_PyTorch.py to pre-process the data. The pre-process of xDeepFM is identical with\n     that of DeepFM.\n    - Run Model/xDeepFM_PyTorch.py.\n    - After 5 epochs, the result is AUC 0.80148, LogLoss 0.45104 (The paper result is AUC 0.8052).\n- ##### PNN: Product-based Neural Network\n    - Paper: https://arxiv.org/pdf/1611.00144.pdf\n    - Tested dataset: Criteo\n    - Split the data set by 9:1 for train and test.\n    - How To Run:\n    Run data/forOtherModels/dataPreprocess_PyTorch.py to pre-process the data, then run Model/ProductNeuralNetwork_PyTorch.py\n    - After 5 epochs, the results are AUC:\n    \n        |Framework(Algorithm)|AUC|LogLoss|\n        |-----|---|-------|\n        |PyTorch(IPNN)|0.76585|0.47766|\n        |PyTorch(OPNN)|0.77656|0.46988|\n        |TensorFlow(IPNN)|0.77996|0.46827|\n        |TensorFlow(OPNN)|0.78098|0.46718|","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJianzhouZhan%2FAwesome-RecSystem-Models","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJianzhouZhan%2FAwesome-RecSystem-Models","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJianzhouZhan%2FAwesome-RecSystem-Models/lists"}