Git Product home page Git Product logo

lrann's Introduction

lrann

Experiments on the effectiveness of low-rank approximations in collaborative filtering compared to neural networks.

Installation

In order to reproduce our experiments:

  1. create an environment lrann with the help of Miniconda,
    conda env create -f environment.yaml
  2. activate the new environment with
     conda activate lrann
  3. install lrann with:
     python setup.py install # or `develop`
  4. optionally run the unit tests by executing pytest

Then take a look into the experiments folder.

Run Experiments

In order to reproduce our research results, we provide an easy way to run different experiments on your own having the provided package installed. Each command requires three command line arguments:

  • -e: denotes the name of the experiment, see below
  • -c: config_file: relative path to the config file as already provided in experiments
  • -o: results_file: path where the results .csv-file should be saved

In addition, by adding -v you may enable verbose mode.

Best Neural Network Search

Run the comparative experiments between MF and DNN invoking the following command:

run_dnn_experiment -e nn_search -c <config_file> -o <results_file> -v

For example:

run_dnn_experiment -c experiments/experiment_config.yml -o test_result.csv -v

Matrix Factorization Hyperparameter Optimization

Run the matrix factorization hyperparameter search:

run_dnn_experiment -e mf_hyperopt -c <config_file> -o <results_file> -v

Covariance Analysis

In order to retrieve results for the covariance analysis, perform the following command

run_dnn_experiment -e covariance -c <config_file> -o <results_file> -v

Note

This project has been set up using PyScaffold 3.1. For details and usage information on PyScaffold see https://pyscaffold.org/.

The basic structure and some code was taken from the Spotlight recommender library, which is also MIT licensed.

Todo

  • Convert Numpy docstring style to Google style
  • Change command name from run_dnn_experiment to run_lrann_experiment

lrann's People

Contributors

mkurovski avatar florianwilhelm 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.