An open API service indexing awesome lists of open source software.

https://github.com/abdullahselek/koolsla

Food recommendation tool with Machine learning.
https://github.com/abdullahselek/koolsla

cosine-similarity machine-learning pypi-packages python-2 python-3 tf-idf

Last synced: 12 months ago
JSON representation

Food recommendation tool with Machine learning.

Awesome Lists containing this project

README

          

|logo| koolsla
==============

.. |logo| image:: https://images1-focus-opensocial.googleusercontent.com/gadgets/proxy?url=https://raw.githubusercontent.com/abdullahselek/koolsla/master/resources/logo.png&container=focus&resize_w=20&resize_h=20

.. image:: https://github.com/abdullahselek/koolsla/workflows/koolsla%20ci/badge.svg
:target: https://github.com/abdullahselek/koolsla/actions

.. image:: https://img.shields.io/pypi/v/koolsla.svg
:target: https://pypi.python.org/pypi/koolsla/

.. image:: https://img.shields.io/pypi/pyversions/koolsla.svg
:target: https://pypi.org/project/koolsla

.. image:: https://readthedocs.org/projects/koolsla/badge/?version=latest
:target: http://koolsla.readthedocs.org/en/latest/?badge=latest

.. image:: https://codecov.io/gh/abdullahselek/koolsla/branch/master/graph/badge.svg
:target: https://codecov.io/gh/abdullahselek/koolsla

+--------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| Linux | Windows |
+==========================================================================+====================================================================================+
| .. image:: https://travis-ci.org/abdullahselek/koolsla.svg?branch=master | .. image:: https://ci.appveyor.com/api/projects/status/l5bt8yw7n35cvsov?svg=true |
| :target: https://travis-ci.org/abdullahselek/koolsla | :target: https://ci.appveyor.com/project/abdullahselek/koolsla |
+--------------------------------------------------------------------------+------------------------------------------------------------------------------------+

Description
===========

koolsla (`Coleslaw `_) is a recommendation tool based on Machine Learning with contents.
Developed with the power of `tf-idf `_ and `Cosine Similarity `_.

The user gives a natural number that corresponds to the ID of a unique dish name. Through `tf-idf` the plot summaries of 424508 different dishes that reside in the dataset, are analyzed and vectorized.
Set of dishes (number set by user) is chosen as recommendations based on their `cosine similarity` with the vectorized input.

koolsla is mainly an educational project.

Installation
============

You can install koolsla using::

$ pip install koolsla

Getting the code
================

The code is hosted at https://github.com/abdullahselek/koolsla

Check out the latest development version anonymously with::

$ git clone git://github.com/abdullahselek/koolsla.git
$ cd koolsla

To install test dependencies, run either::

$ pip install -Ur requirements.testing.txt

Running Tests
=============

The test suite can be run against a single Python version which requires ``pip install pytest`` and optionally ``pip install pytest-cov``
(these are included if you have installed dependencies from ``requirements.testing.txt``)

To run the unit tests with a single Python version::

$ py.test -v

To also run code coverage::

$ py.test --cov=koolsla

To run the unit tests against a set of Python versions::

$ tox

Sample Usage
============

Import recommender::

from koolsla import recommender

Getting recommendations with dish id and recommendation count::

// Returns dictionary of tuples [(dish_id_1, similarity_ratio1), (dish_id_2, similarity_ratio2), (dish_id_3, similarity_ratio3)]
recommendatons = recommender.recommend(82, 3)

CLI
===

After getting the code from https://github.com/abdullahselek/koolsla, run command::

$ pip install -r requirements.txt

And it's ready to use, there is detailed help menu which you can follow. One of the most used function for recommendation::

$ python koolsla.py -d 25 --recommend 3

For the help menu::

$ python koolsla.py --help