Skip to main content

Recommender System using Python


Recommender systems are everywhere. Amazon recommends buys we like, google recommends searches, Youtube recommends systems and Facebook recommends people.
All of these implementations describe Recommender Systems.

There are 2 types of Recommender Systems.

Collaborative Systems - Systems that recommend information based on what you like and what the others like.

Content Based Systems- Based on what you have viewed









This is a simple ML based recommender System in python. It uses the LightFM library as the dataset


import numpy as np
from lightfm import LightFM
from fetch_lastfm import fetch_lastfm
data = fetch_lastfm()
model = LightFM(loss='warp')
model.fit(data['matrix'], epochs=30, num_threads=2)
# Get recommendationns function
def get_recommendations(model, coo_mtrx, users_ids):
n_items = coo_mtrx.shape[1]
for user in users_ids:
# TODO create known positives
# Artists the model predicts they will like
scores = model.predict(user, np.arange(n_items))
top_scores = np.argsort(-scores)[:3]
print 'Recomendations for user %s:' % user
for x in top_scores.tolist():
for artist, values in data['artists'].iteritems():
if int(x) == values['id']:
print ' - %s' % values['name']
print '\n' # Get it pretty
user_1 = raw_input('Select user_1 (0 to %s): ' % data['users'])
user_2 = raw_input('Select user_2 (0 to %s): ' % data['users'])
user_3 = raw_input('Select user_3 (0 to %s): ' % data['users'])
print '\n' # Get it pretty
get_recommendations(model, data['matrix'], [user_1, user_2, user_3])

Comments

  1. Replies
    1. Thanks ... please subscribe and share this ... stay tuned for future posts :)

      Delete
  2. We make it easier for businesses to achieve their KPI’s with personalized recommendations. We deliver highly personal, automated, and contextual insights to improve your customers’ experience and business results.https://divedeep.ai/recommendation-systems-services-and-solutions

    ReplyDelete
  3. The blog was really helpful, thanks for such quality content
    customer survey satisfaction

    ReplyDelete

Post a Comment

Popular posts from this blog

Impact of Chatbots on Human Driven sectors of business

Chatbots are Machine Learning and Deep Learning powered programs that can conduct meaningful conversations. Most of them use technical attributes like Natural Language Processing and Context Analysis to converse with a human or another chatbot. The bot is programmed to self-learn as it is introduced to supplementary dialogues and words. In consequence, as a chatbot receives new voice or textual dialogues, the number of inquiries that it can reply and the accuracy of each response it gives increases. A Chabot can converse with the user through self-embedded messaging platforms like Facebook Messenger or through various flagship Assistants such as Google Assistant, Siri or Amazon Alexa. Nowadays, chatbots are being deployed in fields where their use clearly seemed to be obvious. Firms engaging in Financial Planning, Investment Management and Expense Tracking could reap a wide array of benefits when they make use of this technology. They can have a lasting impact on human-driven sec...

Data Visualisation with Python : My course on Skillshare

Recently, I launched a class on Skillshare called " Intro to Data Visualisation with Python : Create Comprehensive Plots with Matplotlib and Numpy ". It's a class I sought to create as my flagship project for the summer of 2019 This class is all you need to visualise data with Python. It aims to teach the essentials required to visualise data with Matplotlib, a library for plotting in python. The class also covers NumPy in a brief manner, a scientific computing library that goes hand-in-hand with the visualisation capabilities provided by Matplotlib. We'll also work with CSV files with pandas. You'll also be getting the essential coding practices required to create these types of programs. To make the most out of this class, it is beneficial to have some prior programming experience ( preferably python ) but however, it's not necessary. An up-to-date system running Windows, MacOs or Linux with an installed version of python is recommended ( I  will provi...