{ "info": { "author": "massquantity", "author_email": "wdmjjxg@163.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# LibRecommender\n\n## Overview\n\n**LibRecommender** is an easy-to-use recommender system focused on end-to-end recommendation. The main features are:\n\n+ Implement a number of popular recommendation algorithms such as SVD, DeepFM, BPR etc.\n\n+ Allow user to use pure behavior features as well as other meta features.\n\n+ Automatically convert categorical features to sparse representation, thus ease the memory usage.\n\n+ Enable negative sampling for implicit dataset.\n\n+ Using Cython or Tensorflow to accelerate model training.\n\n+ Provide end-to-end workflow, i.e. data handling / preprocessing -> model training -> evaluate -> serving.\n\n\n\n## Usage\n```python\nfrom libreco.dataset import DatasetFeat\nfrom libreco.algorithms import DeepFMFeat\n\nconf = {\n \"data_path\": \"path/to/your/data\",\n \"length\": 500000,\n \"user_col\": 0,\n \"item_col\": 1,\n \"label_col\": 2,\n \"numerical_col\": [4],\n \"categorical_col\": [3, 5, 6, 7, 8],\n \"merged_categorical_col\": None,\n \"user_feature_cols\": [3, 4, 5],\n \"item_feature_cols\": [6, 7, 8],\n \"convert_implicit\": True,\n \"build_negative\": True,\n \"num_neg\": 2,\n# \"batch_size\": 2048,\n \"sep\": \",\",\n}\n\ndataset = DatasetFeat(include_features=True)\ndataset.build_dataset(**conf)\n\ndfm = DeepFMFeat(lr=0.0002, n_epochs=10000, reg=0.1, embed_size=50,\n batch_size=2048, dropout=0.0, task=\"ranking\", neg_sampling=True)\ndfm.fit(dataset, pre_sampling=False, verbose=1)\nprint(dfm.predict(1959, 1992))\nprint(dfm.recommend_user(19500, 7))\n```\n\n\n## Data Format\n\n\n## Installation & Dependencies \n\n- Python 3.5 +\n- tensorflow >= 1.12\n- numpy >= 1.13\n- pandas >= 0.21.0\n- scipy >= 0.19.1\n- scikit-learn >= 0.20.1\n\n\n\n\n\n## References\n\n| Algorithm | Category | Paper |\n| :--------------------: | :------: | :----------------------------------------------------------- |\n| userKNN / itemKNN | pure | [Item-Based Collaborative Filtering Recommendation Algorithms](http://www.ra.ethz.ch/cdstore/www10/papers/pdf/p519.pdf) |\n| SVD | pure | [Matrix Factorization Techniques for Recommender Systems](https://datajobs.com/data-science-repo/Recommender-Systems-[Netflix].pdf) |\n| SVD ++ | pure | [Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model](https://dl.acm.org/citation.cfm?id=1401944) |\n| superSVD | pure | [Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model](https://dl.acm.org/citation.cfm?id=1401944) |\n| ALS | pure | 1. [Matrix Completion via Alternating Least Square(ALS)](https://stanford.edu/~rezab/classes/cme323/S15/notes/lec14.pdf) /
2. [Collaborative Filtering for Implicit Feedback Datasets](http://yifanhu.net/PUB/cf.pdf) /
3. [Applications of the Conjugate Gradient Method for Implicit Feedback Collaborative Filtering](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.379.6473&rep=rep1&type=pdf) |\n| NCF | pure | [Neural Collaborative Filtering](https://arxiv.org/pdf/1708.05031.pdf) |\n| BPR | pure | [BPR: Bayesian Personalized Ranking from Implicit Feedback](https://arxiv.org/ftp/arxiv/papers/1205/1205.2618.pdf) |\n| Wide & Deep | feat | [Wide & Deep Learning for Recommender Systems](https://arxiv.org/pdf/1606.07792.pdf) |\n| FM | feat | [Factorization Machines](https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf) |\n| DeepFM | feat | [DeepFM: A Factorization-Machine based Neural Network for CTR Prediction](https://arxiv.org/pdf/1703.04247.pdf) |\n| Youtube-Recommendation | feat | [Deep Neural Networks for YouTube Recommendations]() |", "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/massquantity/LibRecommender", "keywords": "Matrix Factorization,Collaborative Filtering,Content-Based,Recommender System,Deep Learning,Data Mining", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "librec", "package_url": "https://pypi.org/project/librec/", "platform": "", "project_url": "https://pypi.org/project/librec/", "project_urls": { "Homepage": "https://github.com/massquantity/LibRecommender" }, "release_url": "https://pypi.org/project/librec/0.0.5/", "requires_dist": null, "requires_python": "", "summary": "A collaborative-filtering and content-based recommender system for both explicit and implicit datasets.", "version": "0.0.5", "yanked": false, "yanked_reason": null }, "last_serial": 6044322, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "b6c5ab578e0a6f4cf18ef89859673194", "sha256": "ce63d967f9e57f046197c76bf9101afc228ad0bc5c31d0e48ff5c349a0771223" }, "downloads": -1, "filename": "librec-0.0.1.tar.gz", "has_sig": false, "md5_digest": "b6c5ab578e0a6f4cf18ef89859673194", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 855958, "upload_time": "2019-10-01T15:14:53", "upload_time_iso_8601": "2019-10-01T15:14:53.152677Z", "url": "https://files.pythonhosted.org/packages/b7/82/8c5c9d92151f4bd808cb83c56b79b5f5b4da7e544c7eab528a2527f23c33/librec-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "ff5ca021bea8826776dfe45b494557f9", "sha256": "1361da93141269a8d53703320d20fe6bfebc429dcaaaac48405e5aa96dd57936" }, "downloads": -1, "filename": "librec-0.0.2.tar.gz", "has_sig": false, "md5_digest": "ff5ca021bea8826776dfe45b494557f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 855955, "upload_time": "2019-10-01T16:42:16", "upload_time_iso_8601": "2019-10-01T16:42:16.833351Z", "url": "https://files.pythonhosted.org/packages/70/48/718ca2c979f92c395626f14990bd397e579167abd289d4ec3d8a82ced31d/librec-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "05a4eb5f64764cf8957aa73812a884c6", "sha256": "12277214fd792c3909b64449802bd51a1f7946758a01b310874db571f4a7a37f" }, "downloads": -1, "filename": "librec-0.0.4.tar.gz", "has_sig": false, "md5_digest": "05a4eb5f64764cf8957aa73812a884c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 855935, "upload_time": "2019-10-01T17:13:33", "upload_time_iso_8601": "2019-10-01T17:13:33.156924Z", "url": "https://files.pythonhosted.org/packages/96/1b/93fcef1b2a56ce6aa9adad7f8e1888bcc30d942eef3a3edb79f87beab5b0/librec-0.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "d6b88010b36abd5daff3c53870a8a33f", "sha256": "93c25fc19799e638423daa93867095d183c2786a6d807dd676575a7d946061ef" }, "downloads": -1, "filename": "librec-0.0.5.tar.gz", "has_sig": false, "md5_digest": "d6b88010b36abd5daff3c53870a8a33f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 855945, "upload_time": "2019-10-01T17:18:04", "upload_time_iso_8601": "2019-10-01T17:18:04.937112Z", "url": "https://files.pythonhosted.org/packages/39/b3/17198978faa28affc5152014d1440af70aadd8b5dad16c3a15a585be2041/librec-0.0.5.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d6b88010b36abd5daff3c53870a8a33f", "sha256": "93c25fc19799e638423daa93867095d183c2786a6d807dd676575a7d946061ef" }, "downloads": -1, "filename": "librec-0.0.5.tar.gz", "has_sig": false, "md5_digest": "d6b88010b36abd5daff3c53870a8a33f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 855945, "upload_time": "2019-10-01T17:18:04", "upload_time_iso_8601": "2019-10-01T17:18:04.937112Z", "url": "https://files.pythonhosted.org/packages/39/b3/17198978faa28affc5152014d1440af70aadd8b5dad16c3a15a585be2041/librec-0.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }