Giter Site home page Giter Site logo

fos-r's Introduction

feedzai Open Scoring Server (FOS) - R m Scoring and Training module

fos-r is a fos-core R implementation

Build Status

CloudbeesDevCloud

Why FOS

There are pretty good machine learning training and scoring frameworks/libraries out there, but they don't provide the following benefits:

  1. Common API: fos provides a common abstraction for model attributes, model training and model scoring. Using a Weka based classifier will use have exactly the same API as using a R based classifier.
  2. Scoring & Training as a remote service: Training and scoring can be farmed to dedicated servers in the network enabling both vertical and horizontal scaling.
  3. Import and Export models: A model could be trained in a development box and imported seamlessly into a remote server
  4. Scalable and low latency scoring: Marshalling and Unmarshalling scoring requests/responses can be responsible for a significant amount of overhead. Along with the slow RMI based interface, fos also supports scoring using Kryo.

Compiling fos-r

You need:

  1. Java SDK: Java 7
  2. Maven: Tested with maven 3.0.X
  3. fos-core
  4. R: Tested against R 2.15 on Linux (Tested on debian, centos, ubuntu)
  5. Access to maven central repo (or a local proxy)

After installing R you need to install R RServe library

To install Rserve open a command line, start R and type the following command:

install.packages("Rserve")

fos-r provides a built-in training module using randomForest. In order to use it you need to install the following R packages:

install.packages("randomForest")
install.packages("doMC")
install.packages("foreach")
install.packages("foreign")
install.packages("e1071")
install.packages("kernlab")
install.packages("XML")
install.packages("pmml")

After Rserve has been installed successfully, start a rserve daemon:

R --no-save --slave -e "library(Rserve);Rserve(args='--no-save --slave');"

After Java SDK and Maven have been installed run the following command

mvn clean install

This should compile fos-r, ran all the tests and install all modules into your local maven repo.

Running FOS-R

The default FOS-R package uses fos-weka. You need to set fos.factoryName in fos.properties like this:

fos.factoryName=com.feedzai.fos.impl.r.RManagerFactory

fos-r's People

Contributors

diogoeag avatar jprafael avatar malduarte avatar

Watchers

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