Learn R Programming

PivotalR (version 0.1.18.5)

generic.bagging: This function runs boostrap aggregating for a given training function.

Description

A generic function to do boostrap aggregating for a given machine learning model. The user might need to write a wrapper for the training function so that they could satisfy the format requirements desceribed in the following.

Usage

generic.bagging(train, data, nbags = 10, fraction = 1)

Arguments

train

A training function. It must have only one argument data. Given the data, it produces the model.

data

A '>db.obj object, which wraps the data in the database.

nbags

An integer, default is 10. The number of bagging sampling.

fraction

A double, default is 1. The fraction of data in each bagging sample.

Value

A bagging.model object, which is actually a list of fitted models.

References

[1] Wiki: bagging https://en.wikipedia.org/wiki/Bootstrap_aggregating

See Also

predict.bagging.model makes predictions using the result of this function.

generic.cv for cross-validation

sample,db.obj-method samples data from a table

Examples

Run this code
# NOT RUN {
<!-- %% @test .port Database port number -->
<!-- %% @test .dbname Database name -->
## set up the database connection
## Assume that .port is port number and .dbname is the database name
cid <- db.connect(port = .port, dbname = .dbname, verbose = FALSE)

delete("abalone", conn.id = cid)
as.db.data.frame(abalone, "abalone", conn.id = cid, verbose = FALSE)
y <- db.data.frame("abalone", conn.id = cid)

fit <- generic.bagging(function(data) {
                           madlib.lm(rings ~ . - id - sex, data = data)
                       }, data = y, nbags = 25, fraction = 0.7)

pred <- predict(fit, newdata = y) # make prediction

lookat(mean((y$rings - pred)^2)) # mean squared error

db.disconnect(cid, verbose = FALSE)
# }

Run the code above in your browser using DataLab