A library that provides an easy ready-to-use Recommendation engine.
Project description
Introduction
This library provides a pure Python interface for a Generalized Recommendation system.
Recommender Systems
Recommender Systems are algorithms aimed at suggesting relevant items to users (items being products to buy, movies to watch, text to read or anything else depending on industries). There exist two major categories of methods
- Content based methods
- Collaborative filtering methods
Content Based Recommendation
Content based approaches use additional information about users and/or items. The major idea of content based methods is to try to build a model, based on the available “features”, that explain the observed user-item interactions.
Collaborative Filtering Methods
Collaborative methods for recommender systems are methods that are based solely on the past interactions recorded between users and items in order to produce new recommendations.
Installing
pip install py-recommendation
Usage
Module Import
import py_recommendation as prc
Fetch the Input Data
Generate input data object which can be used for various types of recommendations available
Items Data
itemsInitialise = prc.InputData()
Configure Data
ItemData = itemsInitialise.setData(
data = 'variable carrying items data as either of dict, list of dicts or a pandas dataframe ',
itemNameField = 'field name in data variable, carrying the item name/id',
itemTagField = 'field name in data variable, carrying the item features',
)
Or else set data from file,
ItemData = itemsInitialise.setData_file(
filePath = 'path to the data file',
itemName_col = 'column name carrying the item name/id',
itemTag_col = 'column name carrying the item features',
fileType = 'type of file (xlsx/csv)'
)
Users Data
usersInitialise = prc.UsersData()
Configure Data
UsersData = usersInitialise.setData(
data = 'variable carrying users data as either of dict, list of dicts or a pandas dataframe ',
userNameField = 'field name in data variable, carrying the user name/id',
triedItemField = 'field name in data variable, carrying the list of items tried by the user',
)
Recommeder based on Similar Items
This is used to find other items similar to the given item based on the features.
similarItemInit = prc.SimilarItem(ItemData)
recommendation = similarItemInit.similarItem('Item name/id')
Content-based Recommeder for specific users based on items tried
contentRecommendInit = prc.UserContent(itemData=ItemData, usersData=UsersData)
recommendation = contentRecommendInit.contentRecomend('name/id of a specific user (present in UsersData)')
recommendation carries a list with each recommended items and their recommendation score on 100 NB: * recommendation might have items with negative score which implies the item is already tried. This scenario occurs only if you have less number of items in 'ItemData'*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for py_recommendation-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fddf64f92d9b47e4ac178664b8422fd6b9cecd87c2402803f4c36b82f5a7866 |
|
MD5 | 3224cba2e7a1bac2b5b4221fc9da9a81 |
|
BLAKE2b-256 | 72a7acafcd4eab414e54c09f237ac698fb89f9dfae230bbfd7596199575ab4a7 |