{ "info": { "author": "Shuyang Li", "author_email": "shuyangli94@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering" ], "description": "# RecSysModels\nHere we have implemented various Recommender System algorithms for implicit feedback and sequential recommendation. These algorithms are implemented in Python and [TensorFlow](https://www.tensorflow.org). This package aims to provide clear, annotated, and efficient implementations of these algorithms along with wrapper classes and methods for easy experimentation and usage.\n\n## Implicit Feedback\nThis package focuses on recommendations based on sequential and [implicit feedback](http://yifanhu.net/PUB/cf.pdf). In these settings there is no explicit numerical rating of items by users - only the record of actions they have taken. Thus there is only observed positive feedback - if a user `u` has not interacted with item `i`, it could either be because they dislike the item (negative) or they merely have not come upon this item yet (positive).\n\nThe algorithms implemented here approach the implicit feedback recommendation problem from a pairwise ranking perspective, where we assume that an item a user has interacted with should be ranked higher than an item that the user has not yet interacted with.\n\n## Algorithms Implemented\n- Bayesian Personalized Ranking (__BPR__), from ['BPR: Bayesian Personalized Ranking from Implicit Feedback'](https://arxiv.org/abs/1205.2618) (Rendle et al. 2009)\n- Factorized Personalized Markov Chains (__FPMC__), from ['Factorizing personalized Markov chains for next-basket recommendation'](https://dl.acm.org/citation.cfm?id=1772773) (Rendle et al. 2010)\n- __TransRec__, from ['Translation-based Recommendation'](https://arxiv.org/abs/1707.02410) (He, et al. 2017)\n\n## Installation\n`RecSysModels` is on [`PyPI`](https://pypi.org/), so you can install the package with `pip`:\n```bash\n$ pip install recsys_models\n```\n\n## Dependencies\n- [`Python 3+`](https://www.python.org/) (3.6 may be required for Tensorflow-GPU on Windows)\n- [`tensorflow`](https://www.tensorflow.org/install/) or [`tensorflow-gpu`](https://www.tensorflow.org/install/gpu)\n- [`numpy`](http://www.numpy.org/)\n- [`pandas`](https://pandas.pydata.org/pandas-docs/stable/index.html)\n- [`Jupyter`/`JupyterLab`](https://jupyter.org/) (If you want to run the notebook)\n\n## Sample Usage\nSee the [`sample_pipeline Jupyter Notebook`](https://github.com/shuyangli94/RecSysModels/blob/master/sample_pipeline.ipynb) for sample usage. In order to run this, you will need to download the [MovieLens 1M Dataset](https://grouplens.org/datasets/movielens/1m/) released in 2003 by the wonderful folks at the [GroupLens Lab](https://grouplens.org/) at the University of Minnesota.\n\n## Interoperability\nFor interoperability, this package supports initializing a model with pretrained weights in the form of `numpy` arrays exported from models trained under other frameworks. Please see individual model files (e.g. [BPR](https://github.com/shuyangli94/RecSysModels/blob/master/recsys_models/models/bpr.py)) for a description of trainable variables and their shapes.\n\n\n###### This package is released under [GNU GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html) by [Shuyang Li](http://shuyangli.me/)\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/shuyangli94/RecSysModels", "keywords": "recommender systems,recommender,recommendation system,tensorflow", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "recsys-models", "package_url": "https://pypi.org/project/recsys-models/", "platform": "", "project_url": "https://pypi.org/project/recsys-models/", "project_urls": { "Homepage": "https://github.com/shuyangli94/RecSysModels" }, "release_url": "https://pypi.org/project/recsys-models/0.1.3/", "requires_dist": [ "numpy (>=1.14.5)", "pandas (>=0.23.3)" ], "requires_python": "", "summary": "TensorFlow Recommender Systems Models for Implicit Feedback", "version": "0.1.3" }, "last_serial": 4642932, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "e447c3b674727c0fe170c02e5eee9cf2", "sha256": "bf7b1e948554fee9cb74d68b2b164997ae7f4bf7841f41593f2e00aa273f6879" }, "downloads": -1, "filename": "recsys_models-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e447c3b674727c0fe170c02e5eee9cf2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17218, "upload_time": "2018-12-29T01:26:59", "url": "https://files.pythonhosted.org/packages/10/c1/571d242b75d9194ff31fba926e92708534baf9fda4c3aef3fafd3d7666d1/recsys_models-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75edc45e1aa9457b71b2bc157182cbe5", "sha256": "25f29d3b85f55adc18dda82bc7fba157d781106ad48bbcb5e061e5a064fdb21d" }, "downloads": -1, "filename": "recsys_models-0.1.2.tar.gz", "has_sig": false, "md5_digest": "75edc45e1aa9457b71b2bc157182cbe5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4539, "upload_time": "2018-12-29T01:27:01", "url": "https://files.pythonhosted.org/packages/b5/7b/40b63532b5aa5359458761a2cb46b4e6d344484c0beb7a4ca70b89769a59/recsys_models-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "cca31b1cd973bed631ccbd602a6fbafb", "sha256": "26c1051a862de7dd3d7311bb0e2f77a87ea19ad1d015c734aa248860618d208c" }, "downloads": -1, "filename": "recsys_models-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "cca31b1cd973bed631ccbd602a6fbafb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 34530, "upload_time": "2018-12-29T01:55:22", "url": "https://files.pythonhosted.org/packages/a7/2b/71697de0a0c30ab0341ee7d5ac132f25a708cf73327c05b18e89de1e921f/recsys_models-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82f756b6fff7aea6e5c3f414169b8827", "sha256": "a89a3215d6a18b6359ad38d0ac0a20bc86afb0ab6148229584cb6c9d9298318a" }, "downloads": -1, "filename": "recsys_models-0.1.3.tar.gz", "has_sig": false, "md5_digest": "82f756b6fff7aea6e5c3f414169b8827", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16313, "upload_time": "2018-12-29T01:55:23", "url": "https://files.pythonhosted.org/packages/c0/7d/2f0c1d0087e4516f5a053545c99f630f77570937550eeb6d5a76e285bce4/recsys_models-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cca31b1cd973bed631ccbd602a6fbafb", "sha256": "26c1051a862de7dd3d7311bb0e2f77a87ea19ad1d015c734aa248860618d208c" }, "downloads": -1, "filename": "recsys_models-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "cca31b1cd973bed631ccbd602a6fbafb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 34530, "upload_time": "2018-12-29T01:55:22", "url": "https://files.pythonhosted.org/packages/a7/2b/71697de0a0c30ab0341ee7d5ac132f25a708cf73327c05b18e89de1e921f/recsys_models-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82f756b6fff7aea6e5c3f414169b8827", "sha256": "a89a3215d6a18b6359ad38d0ac0a20bc86afb0ab6148229584cb6c9d9298318a" }, "downloads": -1, "filename": "recsys_models-0.1.3.tar.gz", "has_sig": false, "md5_digest": "82f756b6fff7aea6e5c3f414169b8827", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16313, "upload_time": "2018-12-29T01:55:23", "url": "https://files.pythonhosted.org/packages/c0/7d/2f0c1d0087e4516f5a053545c99f630f77570937550eeb6d5a76e285bce4/recsys_models-0.1.3.tar.gz" } ] }