aurelius is a toolkit for translating models and analytics from the R programming language into the Portal Format for Analytics (PFA). There are functions for importing, exporting and converting common R classes of models into PFA. There are also functions for converting variable assignment, control structures, and other elements of the R syntax into PFA.
devtools::install_github('opendatagroup/hadrian', subdir='aurelius')
library("aurelius")The main purpose of the package is to create PFA documents based on logic created in R. This example shows how to build a simple linear regression model and save as PFA. PFA is a plain-text JSON format.
# build a model
lm_model <- lm(mpg ~ hp, data = mtcars)
# convert the lm object to a list of lists PFA representation
lm_model_as_pfa <- pfa(lm_model)The model can be saved as PFA JSON and used in other systems.
# save as plain-text JSON
write_pfa(lm_model_as_pfa, file = "my-model.pfa")Just as models can be written as a PFA file, they can be read.
my_model <- read_pfa("my-model.pfa")The pfa() function in this package supports direct conversion to PFA for objects created by the following functions:
| Model | Function | Prediction | Libraries |
|---|---|---|---|
| Autoregressive Integrated Moving Average (ARIMA) | arima(), Arima(), auto.arima() |
Time Series | stats, forecast |
| Classification and Regression Trees (CART) | rpart() |
Classification, Regression, Survival | rpart |
| Exponential Smoothing State Space | ets(), ses(), hw(), holt() |
Time Series | forecast |
| Generalized Boosted Regression Models | gbm() |
Classification, Regression, Survival | gbm |
| Generalized Linear Model | glm() |
Classification, Regression | stats |
| Holt-Winters Filtering | HoltWinters() |
Time Series | stats, forecast |
| K-Centroids Clustering | kcca() |
Clustering | flexclust |
| K-Means Clustering | kmeans() |
Clustering | stats |
| k-Nearest Neighbour | knn3(), knnreg(), ipredknn() |
Classification, Regression | caret, ipred |
| Linear Discriminant Analysis | lda() |
Classification | MASS |
| Linear Model | lm() |
Regression | stats |
| Naive Bayes Classifier | naiveBayes() |
Classification | e1071 |
| Random Forest | randomForest() |
Classification, Regression | randomForest |
| Regularized Generalized Linear Models | glmnet(), cv.glmnet() |
Classification, Regression, Survival | glmnet |
The aurelius package is licensed under the Apache License 2.0.