pmml.cv.glmnet: Generate the PMML representation for a cv.glmnet object from...

View source: R/pmml.cv.glmnet.R

pmml.cv.glmnetR Documentation

Generate the PMML representation for a cv.glmnet object from the package glmnet.

Description

Generate the PMML representation for a cv.glmnet object from the package glmnet.

Usage

## S3 method for class 'cv.glmnet'
pmml(
  model,
  model_name = "Elasticnet_Model",
  app_name = "SoftwareAG PMML Generator",
  description = "Generalized Linear Regression Model",
  copyright = NULL,
  model_version = NULL,
  transforms = NULL,
  missing_value_replacement = NULL,
  dataset = NULL,
  s = NULL,
  ...
)

Arguments

model

A cv.glmnet object.

model_name

A name to be given to the PMML model.

app_name

The name of the application that generated the PMML.

description

A descriptive text for the Header element of the PMML.

copyright

The copyright notice for the model.

model_version

A string specifying the model version.

transforms

Data transformations.

missing_value_replacement

Value to be used as the 'missingValueReplacement' attribute for all MiningFields.

dataset

Data used to train the cv.glmnet model.

s

'lambda' parameter at which to output the model. If not given, the lambda.1se parameter from the model is used instead.

...

Further arguments passed to or from other methods.

Details

The glmnet package expects the input and predicted values in a matrix format - not as arrays or data frames. As of now, it will also accept numerical values only. As such, any string variables must be converted to numerical ones. One possible way to do so is to use data transformation functions from this package. However, the result is a data frame. In all cases, lists, arrays and data frames can be converted to a matrix format using the data.matrix function from the base package. Given a data frame df, a matrix m can thus be created by using m <- data.matrix(df).

The PMML language requires variable names which will be read in as the column names of the input matrix. If the matrix does not have variable names, they will be given the default values of "X1", "X2", ...

Currently, only gaussian and poisson family types are supported.

Value

PMML representation of the cv.glmnet object.

Author(s)

Tridivesh Jena

References

glmnet: Lasso and elastic-net regularized generalized linear models (on CRAN)

Examples

## Not run: 
library(glmnet)

# Create a simple predictor (x) and response(y) matrices:
x <- matrix(rnorm(100 * 20), 100, 20)
y <- rnorm(100)

# Build a simple gaussian model:
model1 <- cv.glmnet(x, y)

# Output the model in PMML format:
model1_pmml <- pmml(model1)

# Shift y between 0 and 1 to create a poisson response:
y <- y - min(y)

# Give the predictor variables names (default values are V1,V2,...):
name <- NULL
for (i in 1:20) {
  name <- c(name, paste("variable", i, sep = ""))
}
colnames(x) <- name

# Create a simple poisson model:
model2 <- cv.glmnet(x, y, family = "poisson")

# Output the regression model in PMML format at the lambda
# parameter = 0.006:
model2_pmml <- pmml(model2, s = 0.006)

## End(Not run)

pmml documentation built on March 18, 2022, 5:49 p.m.