Coder Social home page Coder Social logo

grouplens / samantha Goto Github PK

View Code? Open in Web Editor NEW
74.0 74.0 27.0 3.92 MB

Samantha - A generic recommender and predictor server

Home Page: https://grouplens.github.io/samantha/

License: MIT License

Java 93.18% Scala 0.26% Python 6.22% HTML 0.18% JavaScript 0.16% CSS 0.01%
machine-learning predictive-systems predictor-server recommender-server recommender-systems

samantha's People

Contributors

qian2015 avatar taavi223 avatar will-qianzhao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

samantha's Issues

SGD fails to converge when order of the data is sequential

For the movielens dataset, SGD (and ParallelSGD) will fail to converge when using the following settings with a timestamp ordered training set.

learningRate = 0.01
l2coef = 0.001

Randomizing the order of the training set fixes the problem—SGD converges and the resulting model has good performance.

We should (at the very least) make a note in the documentation that users may need to randomize the order of their datasets prior to training, particularly if you get poor performance or the algorithm fails to converge.

We may also want to offer a DAO that handles this randomization for the user.

Add the ability to set the number of cores for parallel learning methods

  • Allow user to specify all available cores by passing in 0, null, or just not specifying a number
  • Allow user to specify a specific number of cores by passing in a number >= 1 (up to the number of available cores)
  • Allow user to specify a percentage of cores by passing in a number x between (0, 1), in which case we will multiply the number of available cores by x, rounding to the nearest integer (but not rounding down to 0 or up to the number of available cores).

Fire warnings if the used attr/field is not present while doing feature extraction

//TODO: warn if attr is not present
//TODO: currently mostly feature extractors are using attrName in data to be the key internal representation, consider separate them and use attrName as default
public interface FeatureExtractor extends Serializable {
Map<String, List> extract(JsonNode entity, boolean update,
IndexSpace indexSpace);
}

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.