Skip to content

First Release

Latest
Compare
Choose a tag to compare
@ivan-pavlov ivan-pavlov released this 29 Jun 13:05
· 1 commit to master since this release

Today Dirk Eddelbuettel, James Balamuta and Ivan Pavlov are happy to announce the first release of a reworked R interface to the Vowpal Wabbit machine learning system.

Started as a GSoC 2018 project, the new rvw package was built to give R users
easier access to a variety of efficient machine learning algorithms. Key features that promote this idea and
differentiate the new rvw from existing Vowpal Wabbit packages in R are:

  • A reworked interface that simplifies model manipulations (direct usage of CLI arguments is also available)
  • Support of the majority of Vowpal Wabbit learning algorithms and
    reductions
  • Extended data.frame converter covering different variations of Vowpal Wabbit
    input formats

Below is a simple example of how to use the renewed rvw's interface:

library(rvw)
library(mlbench)   # for a dataset

# Basic data preparation
data("BreastCancer", package = "mlbench")
data_full <- BreastCancer
ind_train <- sample(1:nrow(data_full), 0.8*nrow(data_full))
data_full <- data_full[,-1]
data_full$Class <- ifelse(data_full$Class == "malignant", 1, -1)
data_train <- data_full[ind_train,]
data_test <- data_full[-ind_train,]

# Simple Vowpal Wabbit model for binary classification
vwmodel <-  vwsetup(dir = "./",
					model = "mdl.vw",
                   option = "binary")

# Training 
vwtrain(vwmodel = test_vwmodel,
       data = data_train,
       passes = 10,
       targets = "Class")

# And testing
vw_output <- vwtest(vwmodel = test_vwmodel,
					data = data_test)

More information is available in the Introduction and
Examples sections of the wiki.

The rvw links directly to libvw and so initially we offer a Docker container in order to ship the most up to date package with everything needed.