{"id":20038568,"url":"https://github.com/yahoo/fmfm","last_synced_at":"2025-07-22T04:05:41.320Z","repository":{"id":66000692,"uuid":"306445619","full_name":"yahoo/FmFM","owner":"yahoo","description":null,"archived":false,"fork":false,"pushed_at":"2021-02-06T23:07:37.000Z","size":116,"stargazers_count":40,"open_issues_count":2,"forks_count":13,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-05T06:37:25.924Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/yahoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"Contributing.md","funding":null,"license":"LICENSE-MIT","code_of_conduct":"Code-of-Conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-22T19:59:53.000Z","updated_at":"2024-11-04T00:42:58.000Z","dependencies_parsed_at":"2023-05-22T00:00:41.071Z","dependency_job_id":null,"html_url":"https://github.com/yahoo/FmFM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yahoo/FmFM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yahoo%2FFmFM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yahoo%2FFmFM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yahoo%2FFmFM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yahoo%2FFmFM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yahoo","download_url":"https://codeload.github.com/yahoo/FmFM/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yahoo%2FFmFM/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266424170,"owners_count":23926126,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-13T10:30:03.107Z","updated_at":"2025-07-22T04:05:41.300Z","avatar_url":"https://github.com/yahoo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FM^2: Field-matrixed Factorization Machines for Recommender Systems\n\n## Table of Contents\n\n- [Background](#background)\n- [Install](#install)\n- [Usage](#usage)\n- [Contribute](#contribute)\n- [License](#license)\n\n## Background\nThis is the code to implement the algorithm of FM^2 (Field-matrixed Factorization Machines), it can run a quick benchmark among the LR, FM, FFM, FwFM, FvFM, FmFM and DCN,\nit also support data process and feature extraction from public data set Criteo and Avazu.\n\n\n## Install\nFirst you will need to have [TensorFlow](https://github.com/tensorflow) (v1.15 with a GPU is preferred) and numpy, pandas, pickle and tqdm installed.\n\nYou may need to login and download the [Criteo](http://labs.criteo.com/2014/02/kaggle-display-advertising-challenge-dataset/) and [Avazu](https://www.kaggle.com/c/avazu-ctr-prediction/data) from their websites respectively.\nThe unzipped raw data files should be placed at folder `data/criteo/` and `data/avazu/` respectively.\n\n## Usage\n\nThis project has the following content\n1. **train.py** The main function to train the model\n2. **features.py** Functions to process the data file and generate features\n3. **models.py** The core functions to describe those models, include the new proposed FmFM and FvFM, as well as other baseline models like LR, FM, FFM, FwFM\n\nThe folder **bash** contains individual training task with hyper-parameters, and the **start_train.sh** can schedule multiple task in one bash file.  \n\n![AUC vs FLOP comparison](/auc_flop.png)\n\n## Contribute\n\nPlease refer to [the contributing.md file](Contributing.md) for information about how to get involved. We welcome issues, questions, and pull requests.\n\n## Maintainers\nYang Sun, yang.sun@verizonmedia.com\n\n## License\nThis project is licensed under the terms of the MIT open source license. Please refer to LICENSE for the full terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyahoo%2Ffmfm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyahoo%2Ffmfm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyahoo%2Ffmfm/lists"}