Servicing models with R using Plumber package

Shirin Glander made a great post about how to use Plumber to provide some servicing of R models an API. For whom are looking for methods to deploy ML learning algorithms in R in production, this post is mandatory.

The plumber package for R makes it easy to expose existing R code as a webservice via an API (https://www.rplumber.io/, Trestle Technology, LLC 2017).

You take an existing R script and make it accessible with plumber by simply adding a few lines of comments. If you have worked with Roxygen before, e.g. when building a package, you will already be familiar with the core concepts. If not, here are the most important things to know:

  • you define the output or endpoint
  • you can add additional annotation to customize your input, output and other functionalities of your API
  • you can define every input parameter that will go into your function
  • every such annotation will begin with either #' or #*

<

p class=”js-evernote-checked” style=”padding-left:60px;”>With this setup, we can take a trained machine learning model and make it available as an API. With this API, other programs can access it and use it to make predictions.

Servicing models with R using Plumber package

Comparação entre as APIs de Machine Learning

Os serviços de Machine Learning estão cada vez mais populares dado que há uma grande demanda nos dias atuais de modelos de predição cada vez mais apurados, dado que muitas empresas não conseguem absorver Cientistas de Dados. 

Contudo, muito do que é vendido como Machine Learning grande parte das vezes é um fork de algum projeto Open Source e que é vendido como se fosse a 8a maravilha do mundo. 

Os resultados?

Of the APIs compared, Google performed the worst, being the slowest and least accurate of the four. Amazon ML was the most accurate, but this came at the expense of time to train and make predictions. BigML proved to be the fastest in both training and predictions, but compromised on accuracy.

Comparação entre as APIs de Machine Learning

BigML – Um alternativa?

Uma das melhores coisas que aconteceram em 2015 foi o lançamento de diversas APIs de Machine Learning como AzureML, AmazonML e o Google Prediction API.

Com tudo um ótimo competidor que vem chegando é o BigML que promete ter tudo o que os seus competidores tem, mas a facilidade de ser agnóstico em termos de plataforma. 

 

 

BigML – Um alternativa?