{"id":13748101,"url":"https://github.com/ibayer/fastFM","last_synced_at":"2025-05-09T10:32:12.374Z","repository":{"id":22478766,"uuid":"25817842","full_name":"ibayer/fastFM","owner":"ibayer","description":" fastFM: A Library for Factorization Machines","archived":false,"fork":false,"pushed_at":"2022-07-17T13:12:39.000Z","size":4886,"stargazers_count":1082,"open_issues_count":52,"forks_count":206,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-03-11T15:53:05.231Z","etag":null,"topics":["factorization-machines","machine-learning","matrix-factorization","recommender-system"],"latest_commit_sha":null,"homepage":"http://ibayer.github.io/fastFM","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ibayer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-27T12:25:51.000Z","updated_at":"2025-03-07T15:52:51.000Z","dependencies_parsed_at":"2022-07-26T03:02:10.148Z","dependency_job_id":null,"html_url":"https://github.com/ibayer/fastFM","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibayer%2FfastFM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibayer%2FfastFM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibayer%2FfastFM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibayer%2FfastFM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ibayer","download_url":"https://codeload.github.com/ibayer/fastFM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253234178,"owners_count":21875561,"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":["factorization-machines","machine-learning","matrix-factorization","recommender-system"],"created_at":"2024-08-03T07:00:34.348Z","updated_at":"2025-05-09T10:32:12.027Z","avatar_url":"https://github.com/ibayer.png","language":"Python","funding_links":[],"categories":["Recommender Systems","资源列表","Machine Learning","推荐系统","Recommender Systems [🔝](#readme)","Awesome Python"],"sub_categories":["推荐系统","Kernel Methods","Recommender Systems"],"readme":"Citing fastFM\n=============\n\nThe library fastFM is an academic project. The time and resources spent\ndeveloping fastFM are therefore justified by the number of citations of\nthe software. If you publish scientific articles using fastFM, please\ncite the following article (bibtex entry\n[citation.bib](http://jmlr.org/papers/v17/15-355.bib)).\n\n\u003e Bayer, I. \\\"fastFM: A Library for Factorization Machines\\\" Journal of\n\u003e Machine Learning Research 17, pp. 1-5 (2016)\n\nfastFM: A Library for Factorization Machines\n============================================\n\n[![image](https://travis-ci.org/ibayer/fastFM.svg?branch=master)](https://travis-ci.org/ibayer/fastFM)\n[![image](https://img.shields.io/badge/platform-OSX%7CLinux-lightgrey.svg)](https://travis-ci.org/ibayer/fastFM)\n[![image](https://img.shields.io/pypi/l/Django.svg)](https://travis-ci.org/ibayer/fastFM)\n\nThis repository allows you to use Factorization Machines in **Python**\n(2.7 \u0026 3.x) with the well known **scikit-learn API**. All performance\ncritical code has been written in C and wrapped with Cython. fastFM\nprovides stochastic gradient descent (SGD) and coordinate descent (CD)\noptimization routines as well as Markov Chain Monte Carlo (MCMC) for\nBayesian inference. The solvers can be used for regression,\nclassification and ranking problems. Detailed usage instructions can be\nfound in the [online documentation](http://ibayer.github.io/fastFM) and\non [arXiv](http://arxiv.org/abs/1505.00641).\n\nSupported Operating Systems\n---------------------------\n\nfastFM has a continuous integration / testing servers (Travis) for\n**Linux (Ubuntu 14.04 LTS)** and **OS X Mavericks**. Other OSs are not\nactively supported.\n\nUsage\n-----\n\n``` {.python}\nfrom fastFM import als\nfm = als.FMRegression(n_iter=1000, init_stdev=0.1, rank=2, l2_reg_w=0.1, l2_reg_V=0.5)\nfm.fit(X_train, y_train)\ny_pred = fm.predict(X_test)\n```\n\nTutorials and other information are available\n[here](http://arxiv.org/abs/1505.00641). The C code is available as\n[subrepository](https://github.com/ibayer/fastFM-core) and provides a\nstand alone command line interface. If you still have **questions**\nafter reading the documentation please open an issue at GitHub.\n\n| Task       | Solver     | Loss     |\n| :------------- | :----------: | -----------: |\n| Regression     | als, mcmc, sgd | Square Loss                 |\n| Classification | als, mcmc, sgd | Probit(Map), Probit, Sigmoid|\n| Ranking        | sgd            | BPR                         |\n\n*Supported solvers and tasks*\n\nInstallation\n------------\n\n**binary install (64bit only)**\n\n`pip install fastFM`\n\n**source install**\n\n*Please make sure, that Python and OS bit version agree, e.g. 32bit\nPython on 64bit OS won\\'t work.*\n\n``` {.bash}\n# Install cblas and python-dev header (Linux only).\n# - cblas can be installed with libatlas-base-dev or libopenblas-dev (Ubuntu)\n$ sudo apt-get install python-dev libopenblas-dev\n\n# Clone the repo including submodules (or clone + `git submodule update --init --recursive`)\n$ git clone --recursive https://github.com/ibayer/fastFM.git\n\n# Enter the root directory\n$ cd fastFM\n\n# Install Python dependencies (Cython\u003e=0.22, numpy, pandas, scipy, scikit-learn)\n$ pip install -r ./requirements.txt\n\n# Compile the C extension.\n$ make                      # build with default python version (python)\n$ PYTHON=python3 make       # build with custom python version (python3)\n\n# Install fastFM\n$ pip install .\n```\n\nTests\n-----\n\nThe Python tests (`pip install nose`) can be run with:\n`nosetests fastFM/fastFM/tests`\n\nPlease refer to the fastFM-core README for instruction on how to run the\nC tests at `fastFM/fastFM-core/src/tests`.\n\nContribution\n------------\n\n-   Star this repository: keeps contributors motivated\n-   Open an issue: report bugs or suggest improvements\n-   Fix errors in the documentation: small changes matter\n-   Contribute code\n\n**Contributions are very welcome!** Since this project lives on GitHub\nwe recommend to open a pull request (PR) for code contributions as early\nas possible. This is the fastest way to get feedback and allows [Travis\nCI](https://travis-ci.org/ibayer/fastFM) to run checks on your changes.\n\nMost information you need to setup your **development environment** can\nbe learned by adapting the great instructions on\n\u003chttps://github.com/scikit-learn/scikit-learn/blob/master/CONTRIBUTING.md\u003e\n. Please ensure that your contribution conforms to the\n[PEP8](http://www.python.org/dev/peps/pep-0008/) Coding Style and\nincludes unit tests where appropriate. More valuable guidelines that\napply to fastFM can be found at\n\u003chttp://scikit-learn.org/stable/developers/contributing.html#coding-guidelines\u003e\n.\n\n**Contributors**\n\n-   [aaossa](https://github.com/aaossa/)\n-   [altimin](https://github.com/altimin)\n-   [bdaskalov](https://github.com/bdaskalov)\n-   [chezou](https://github.com/chezou)\n-   [macks22](https://github.com/macks22)\n-   [takuti](https://github.com/takuti)\n-   [ibayer](https://github.com/ibayer)\n\nLicense: BSD\n------------\n\n\u003c!-- Matomo Image Tracker--\u003e\n\u003cimg referrerpolicy=\"no-referrer-when-downgrade\" src=\"https://matomo.palaimon.io/matomo.php?idsite=2\u0026amp;rec=1\" style=\"border:0\" alt=\"\" /\u003e\n\u003c!-- End Matomo --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibayer%2FfastFM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fibayer%2FfastFM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibayer%2FfastFM/lists"}