Skip to main content

A collection of recommendation algorithms and comparisons

Project description

Cornac

Cornac is python recommender system library for easy, effective and efficient experiments. Cornac is simple and handy. It is designed from the ground-up to faithfully reflect the standard steps taken by researchers to implement and evaluate personalized recommendation models.

Quick Links

Website | Documentation | Preferred.AI

TravisCI CircleCI AppVeyor Codecov Docs
Release PyPI Conda
Python License

Installation

Currently, we are supporting Python 3 (version 3.6 is recommended). There are several ways to install Cornac:

From PyPI (you may need a C compiler):

pip3 install cornac

From Anaconda:

conda install cornac -c qttruong -c pytorch

From the GitHub source (for latest updates):

pip3 install cython
git clone https://github.com/PreferredAI/cornac.git
cd cornac
python3 setup.py install

Note

Some installed dependencies are CPU versions. If you want to utilize your GPU, you might consider:

Getting started: your first Cornac experiment

This example will show you how to run your very first experiment using Cornac.

Load the MovieLens 100K dataset (will be automatically downloaded if not cached).

from cornac.datasets import MovieLens100K

ml_100k = MovieLens100K.load_data()

Instantiate an evaluation strategy.

from cornac.eval_strategies import RatioSplit

ratio_split = RatioSplit(data=ml_100k, test_size=0.2, rating_threshold=4.0, exclude_unknowns=False)

Instantiate models that we want to evaluate. Here we use Probabilistic Matrix Factorization (PMF) as an example.

pmf = cornac.models.PMF(k=10, max_iter=100, learning_rate=0.001, lamda=0.001)

Instantiate evaluation metrics.

mae = cornac.metrics.MAE()
rmse = cornac.metrics.RMSE()
rec_20 = cornac.metrics.Recall(k=20)
pre_20 = cornac.metrics.Precision(k=20)

Instantiate and then run an experiment.

exp = cornac.Experiment(eval_strategy=ratio_split,
                        models=[pmf],
                        metrics=[mae, rmse, rec_20, pre_20],
                        user_based=True)
exp.run()

Output

          MAE      RMSE  Recall@20  Precision@20
PMF  0.760277  0.919413   0.081803        0.0462

For more details, please take a look at our examples.

License

Apache License 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cornac-0.1.0.post4.tar.gz (8.4 MB view hashes)

Uploaded Source

Built Distributions

cornac-0.1.0.post4-cp36-cp36m-win_amd64.whl (203.0 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

cornac-0.1.0.post4-cp36-cp36m-manylinux1_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.6m

cornac-0.1.0.post4-cp36-cp36m-macosx_10_7_x86_64.whl (262.8 kB view hashes)

Uploaded CPython 3.6m macOS 10.7+ x86-64

cornac-0.1.0.post4-cp35-cp35m-win_amd64.whl (194.4 kB view hashes)

Uploaded CPython 3.5m Windows x86-64

cornac-0.1.0.post4-cp35-cp35m-manylinux1_x86_64.whl (988.0 kB view hashes)

Uploaded CPython 3.5m

cornac-0.1.0.post4-cp35-cp35m-macosx_10_6_x86_64.whl (255.2 kB view hashes)

Uploaded CPython 3.5m macOS 10.6+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page