Code Monkey home page Code Monkey logo

recsys-comparison's People

Contributors

dminones avatar lrargerich avatar roj avatar tutecano1995 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

recsys-comparison's Issues

Parameter search

Implement or add to the code an option to search for parameters.

Possibilities are:

· Grid search
· Random tuning (works better when there are a large number (>2) of parameters).

This option should also produce a csv file that lists the metrics for each tried set of hyperparameters. There should be a .ipynb that analyses these results.

Polymorphism in the gradle file

Currently, the crossfold and similar tasks change their behaviour based on the specified dataset.

Instead of having a method with different behaviour for each possible state, we should have different methods that do the task for a specific dataset (i.e. crossfoldML100k, crossfoldBookCrossing, etc.)

Memory and gradle.properties

Move the maxMemory and threadcount properties to a gradle.properties file. It's cleaner that way.

Try and do the same with jsse.enableSNIExtension setting.

However, don't commit gradle.properties files.

Fetch data for each dataset

Same thing as issue #2 but for fetchdata. It's OK to assume that the user has already downloaded the files (i.e. don't download them unless absolutely necessary).

It's also better as gradle --tasks is more informative (with these changes) than just "downloads the dataset".

Reduce code duplication in gradle files

There's a trick you can do to reduce some of the code duplication, specifically the 'buildscript' blocks at the header of every gradle file. If you create a 'buildSrc' directory, that will be used for a 'local gradle plugin'; if you put in that directory a 'build.gradle' file that has the 'repository' and 'dependencies' lines necessary to use the LensKit Gradle plugin (as top-level blocks, just like a normal Gradle project, not within 'buildscript'), then it will be available through the whole project without needing to duplicate that code.

Do not scale datasets

Transformation of the dataset is not needed, it's better for the errors to reflect the true nature of the data. So, for example, do not normalize Jester from [-10,10] to [1,5].

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.