Coder Social home page Coder Social logo

peinwu / moviebox Goto Github PK

View Code? Open in Web Editor NEW

This project forked from klaudiosinani/moviebox

0.0 1.0 0.0 3.67 MB

๐ŸŽฅ Machine learning movie recommender

Home Page: https://klauscfhq.github.io/moviebox

License: MIT License

Python 100.00%

moviebox's Introduction


Moviebox

๐ŸŽฅ Machine learning movie recommender

Build Status Python Python

Contents

Description

Moviebox is a content based machine learning recommending system build with the powers of tf-idf and cosine similarities.

Initially, a natural number, that corresponds to the ID of a unique movie title, is accepted as input from the user. Through tf-idf the plot summaries of 5000 different movies that reside in the dataset, are analyzed and vectorized. Next, a number of movies is chosen as recommendations based on their cosine similarity with the vectorized input movie. Specifically, the cosine value of the angle between any two non-zero vectors, resulting from their inner product, is used as the primary measure of similarity. Thus, only movies whose story and meaning are as close as possible to the initial one, are displayed to the user as recommendations.

The dataset in use is a random subset of the Carnegie Mellon Movie Summary Corpus, and it consists of 5000 movie titles along with their respective categories and plots.

Install

pip install moviebox

Python 2.7+ or Python 3.4+ is required to install or build the code.

CLI

$ moviebox --help

  ๐ŸŽฅ Machine learning movie recommender

  Usage
    $ moviebox [<options> ...]

  Options
    --help, -h              Display help message
    --search, -s            Search movie by ID
    --movie, -m <int>       Input movie ID [Can be any integer 0-4999]
    --plot, -p              Display movie plot
    --interactive, -i       Display process info
    --list, -l              List available movie titles
    --recommend, -r <int>   Number of recommendations [Can be any integer 1-30]
    --version, -v           Display installed version

  Examples
    $ moviebox --help
    $ moviebox --search
    $ moviebox --movie 2874
    $ moviebox -m 2874 --recommend 3
    $ moviebox -m 2874 -r 3 --plot
    $ moviebox -m 2874 -r 3 -p --interactive

To see all movies with corresponding ID's, take a look at this list.

Usage

from moviebox.recommender import recommender

movieID = 2874  # Movie ID of `Asterix & Obelix: God save Britannia`
recommendationsNumber = 3  # Get 3 movie recommendations
showPlots = True  # Display the plot of each recommended movie
interactive = True  # Display process info while running

# Generate the recommendations
recommender(
    movieID=movieID,
    recommendationsNumber=recommendationsNumber,
    showPlots=showPlots,
    interactive=interactive)

API

recommender(movieID, recommendationsNumber, showPlots, interactive)

E.g. recommender(movieID=2874, recommendationsNumber=3, showPlots=True, interactive=True)

movieID

  • Type: Integer

  • Default Value: 2874

  • Optional: True

Input movie ID. Any integer between [0, 4999] can be selected.

recommendationsNumber

  • Type: Integer

  • Default Value: 3

  • Optional: True

Number of movie recommendations to be generated. Any integer between [1, 30] can be selected.

showPlots

  • Type: Boolean

  • Default Value: False

  • Optional: True

Display the plot summary of each recommended movie.

interactive

  • Type: Boolean

  • Default Value: False

  • Optional: True

Display process-related information while running.

Development

  • Clone this repository to your local machine
  • Navigate to your clone cd moviebox
  • Install the dependencies fab install or pip install -r requirements.txt
  • Check for errors fab test
  • Run the API fab start
  • Build the package fab dist
  • Cleanup compiled files fab clean

Team

Coded with โค by

License

MIT

moviebox's People

Contributors

hay avatar klaudiosinani avatar mariosinani avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.