{ "info": { "author": "Devendra Kumar Sahu", "author_email": "devsahu99@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Hybrid Recommender\n\nThis package usage multiple algorithms and parameters to accomodate different set of use cases.\n\n### Parameters:\n* **item_clusters**: int\n The number of clusters for item matrix generation. This parameter can be tuned\n* **top_results**: int\n Number of recommendations needed. Default value is 10\n* **ratings_weightage**: int\n Weightage for user ratings score. Default is 1\n* **content_weightage**: int\n Weightage for content score. Default is 1\n* **null_rating_replace**: str\n Value to be used as replacement for missing ratings. Default is 'mean', other acceptable values are 'zero','one', and 'min'\n\n### Returns:\n DataFrame having top recommended results for the list of users\n\n### Approach:\n\n1. Create an instance of the hybrid recommender class\n mr = hybrid_recommender()\n\n2. Call fit method on the defined object by passing on ratings and content data\n mr.fit(ratings_df,content_df)\n\n3. Call the predict method\n recommended_df = mr.predict()\n\n------------------------------------------------------------\n\n\n## Example\n\n### Create Ratings DataFrame\n```python\nitem_id = [1,7,9,10,12,2,4,6,8,10,12,3,6,9,12,14,10,13,12,14,11,2,5,7,8,9,10,12]\nuser_id = [1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,5,5]\nrating = [4,5,2,3,5,2,3,2,3,4,4,5,1,2,3,1,2,4,5,3,5,3,1,3,5,3,5,3]\nratings = pd.DataFrame({'user_id':user_id,'item_id':item_id,'rating':rating})\n```\n### Create Content DataFrame\n```python\nitems = [1,2,3,4,5,6,7,8,9,10,11,12,13,14]\ncols = ['col1','col2','col3','col4','col5']\nfeats =[[1,0,0,1,1],\n [1,1,0,0,1],\n [0,1,1,0,0],\n [0,1,1,1,0],\n [1,0,1,1,1],\n [1,1,1,0,0],\n [0,1,0,1,0],\n [0,0,0,1,0],\n [0,1,1,0,0],\n [1,1,1,0,1],\n [0,0,0,1,1],\n [0,1,0,1,0],\n [0,1,1,0,1],\n [0,0,1,1,1],]\nitem_df = pd.DataFrame(feats,index=items,columns=cols)\n```\n**Ratings DataFrame**\n```python\nratings.head()\n```\n**Content DataFrame**\n```python\nitem_df.head()\n```\n### Fitting and prediction\n\n**Creating the recommender object**\n```python\nmy_recommender = hybrid_recommenders(item_clusters=4,top_results=5)\n```\n**Fitting the data**\n```python\nmy_recommender.fit(ratings,item_df)\n```\n**Recommend for few users**\n```python\nmy_recommender.predict([1,2,3])\n```\n**Recommendations for All users**\n```python\nmy_recommender.predict()\n```\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/devsahu99/hybrid_recommender", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "hybrid-recommender", "package_url": "https://pypi.org/project/hybrid-recommender/", "platform": "", "project_url": "https://pypi.org/project/hybrid-recommender/", "project_urls": { "Homepage": "https://github.com/devsahu99/hybrid_recommender" }, "release_url": "https://pypi.org/project/hybrid-recommender/0.4/", "requires_dist": null, "requires_python": "", "summary": "This package will create recommendations based on content as well as user ratings and finally providing top recommendations based on both data points", "version": "0.4" }, "last_serial": 4781608, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "6029e445e9859643de661cbf24cf4854", "sha256": "ef336995e6eba1e74d98cc6f12d429a41c3fcf5cdc8470655d507a595dc415d6" }, "downloads": -1, "filename": "hybrid_recommender-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "6029e445e9859643de661cbf24cf4854", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2184, "upload_time": "2019-02-05T09:53:23", "url": "https://files.pythonhosted.org/packages/8a/d5/7c18949dfa85a6f5072b75b1d6c1014993ba4a43ad178c03a36f95f5b891/hybrid_recommender-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f540bcac3b867ace0869f863ff450e69", "sha256": "6354d1f77d07dffdf7d61617d454ba734b64cd370d7553d2f764a422322ff0d1" }, "downloads": -1, "filename": "hybrid_recommender-0.2.tar.gz", "has_sig": false, "md5_digest": "f540bcac3b867ace0869f863ff450e69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2169, "upload_time": "2019-02-05T09:53:25", "url": "https://files.pythonhosted.org/packages/9f/71/3a3deca59be8d0e66a454848c3412926b59499d63ff1d4cd278463cb6a92/hybrid_recommender-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "98d6be48397a7f7800fc725f9b202b70", "sha256": "89f2b490588bb1796644c78b7375e7516b2a91c22c62aceca9bfae3685b2cfca" }, "downloads": -1, "filename": "hybrid_recommender-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "98d6be48397a7f7800fc725f9b202b70", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2187, "upload_time": "2019-02-05T10:42:17", "url": "https://files.pythonhosted.org/packages/92/61/c3a8b5312261ced75b92599984c1555c70b0dd611858004ed56a903de081/hybrid_recommender-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3b8b6fb65251c8c6e571848bb0cdce55", "sha256": "87f53f0ad27e05398c7ddf4d2488cec67a1e911936c98a0d18ada61516acd527" }, "downloads": -1, "filename": "hybrid_recommender-0.3.tar.gz", "has_sig": false, "md5_digest": "3b8b6fb65251c8c6e571848bb0cdce55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2173, "upload_time": "2019-02-05T10:42:18", "url": "https://files.pythonhosted.org/packages/a3/5f/58ebc9881720cf9d18ed047078df3b34a6e3358f5cf76fcff3dd4de55605/hybrid_recommender-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "f08d4c87e0c09d824e23f7426c8fdb5a", "sha256": "a630a95d457f617fec7eecde868dd58a1b982d7ec11c15bb5f336f93f81e8858" }, "downloads": -1, "filename": "hybrid_recommender-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f08d4c87e0c09d824e23f7426c8fdb5a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5034, "upload_time": "2019-02-05T10:49:45", "url": "https://files.pythonhosted.org/packages/cc/d6/f3872e05f4fe0caa743996ca769b49303156e0f0070d7ae3911068f9e994/hybrid_recommender-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a31f586cdbaef5491bcc0abc2bd0a2a", "sha256": "c32167d833f74158bc0d538297927daa981218f3a2e3e475215181ed338f5bde" }, "downloads": -1, "filename": "hybrid_recommender-0.4.tar.gz", "has_sig": false, "md5_digest": "5a31f586cdbaef5491bcc0abc2bd0a2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4056, "upload_time": "2019-02-05T10:49:48", "url": "https://files.pythonhosted.org/packages/55/c0/66ea9a7abc87c2a6e025e8e82a30010003ce6326e8038b1364ff4144b946/hybrid_recommender-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f08d4c87e0c09d824e23f7426c8fdb5a", "sha256": "a630a95d457f617fec7eecde868dd58a1b982d7ec11c15bb5f336f93f81e8858" }, "downloads": -1, "filename": "hybrid_recommender-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f08d4c87e0c09d824e23f7426c8fdb5a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5034, "upload_time": "2019-02-05T10:49:45", "url": "https://files.pythonhosted.org/packages/cc/d6/f3872e05f4fe0caa743996ca769b49303156e0f0070d7ae3911068f9e994/hybrid_recommender-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a31f586cdbaef5491bcc0abc2bd0a2a", "sha256": "c32167d833f74158bc0d538297927daa981218f3a2e3e475215181ed338f5bde" }, "downloads": -1, "filename": "hybrid_recommender-0.4.tar.gz", "has_sig": false, "md5_digest": "5a31f586cdbaef5491bcc0abc2bd0a2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4056, "upload_time": "2019-02-05T10:49:48", "url": "https://files.pythonhosted.org/packages/55/c0/66ea9a7abc87c2a6e025e8e82a30010003ce6326e8038b1364ff4144b946/hybrid_recommender-0.4.tar.gz" } ] }