Insights on Deploying R Models
Many data scientists don't know how to deploy R models in a production environment or how to make it available to users who don't have R installed. Here are some insights based on my experience and knowledge!
Join the DZone community and get the full member experience.Join For Free
R is one of the most preferred languages for creating machine learning models. There are various articles around the internet that teach you how to use R and develop models. However, most of us lack the knowledge on deploying R models in the production environment of an organization and on making it available to users who can use the model without having R installed on their system. Almost all data-related software tools have an enterprise version of R, or they have at least an inbuilt integration with R. R can also be deployed stand-alone as web applications or web services.
Here are some insights based on my experience and knowledge of R model deployments.
R is engineered to be enterprise-ready by various product development organizations, such as Oracle R Enterprise and Microsoft R Server. Any R code created in these environments is production-ready and easy to deploy. We just need to follow a few steps that are readily available in their documentation for production deployment.
R has integrations with various visual analytics and BI tools such as Tableau, Power BI, and Microstrategy. If you are creating an R model and plan on bringing advanced analytics capabilities for your BI dashboards, then deploy the R models using these integrations.
If you use SAP HANA as your data warehouse or ERP backend, then deploying the R models using SAP HANA—R integration is a good idea.
If you are already using advanced analytics tools such as KNIME, Rapid Miner, IBM SPSS, or SAS, but want to leverage the benefits of R capabilities, we can use the inbuilt integration mechanism that these tools offer.
R models that use H2O's algorithms can be converted to POJO classes and can be deployed in a Java environment.
We can also create a shiny application to implement R as a web application. There is a live R web application demo at DZone. Check it out!
You can also use Plumber to convert your R code into a web API efficiently using some individual one-line comments.
These are some of the possible ways through which we can deploy R models — and I understand that there are many more options! If you know any other techniques, please share in the comments section. It will help me and others to learn.
Opinions expressed by DZone contributors are their own.