{
"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": []
}