sbrl-package: SCALABLE BAYESIAN RULE LISTS

Description Details Author(s) References See Also Examples

Description

Fit a sbrl model. Learn from the data and create a decision rule list in the format of:

if (condition1) then positive probability = ...

else if (condition2) then positive probability = ...

else if (condition3) ...

...

else (default rule) then positive probability = ...

( See the examples below )

Details

This package contains three functions: sbrl, print.sbrl, show.sbrl, and predict.sbrl

Author(s)

Hongyu Yang, Cynthia Rudin, Margo Seltzer

References

Hongyu Yang, Morris Chen, Cynthia Rudin, Margo Seltzer (2016) Scalable Bayesian Rule Lists. Working paper on arXiv 2016.

Benjamin Letham, Cynthia Rudin, Tyler McCormick and David Madigan (2015) Building Interpretable Classifiers with Rules using Bayesian Analysis. Annals of Applied Statistics, 2015.

See Also

sbrl, print.sbrl, show.sbrl and predict.sbrl

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Let us use the titactoe dataset
data(tictactoe)
for (name in names(tictactoe)) {tictactoe[name] <- as.factor(tictactoe[,name])}

# Train on two-thirds of the data
b = round(2*nrow(tictactoe)/3, digit=0)
data_train <- tictactoe[1:b, ]
# Test on the remaining one third of the data
data_test <- tictactoe[(b+1):nrow(tictactoe), ]
# data_train, data_test are dataframes with factor columns
# The class column is "label"

# Run the sbrl algorithm on the training set
  sbrl_model <- sbrl(data_train, iters=20000, pos_sign="1",
   neg_sign="0", rule_minlen=1, rule_maxlen=3, 
   minsupport_pos=0.10, minsupport_neg=0.10, 
   lambda=10.0, eta=1.0, nchain=25)
  print(sbrl_model)

# Make predictions on the test set
  yhat <- predict(sbrl_model, data_test)
# yhat will be a list of predicted negative and positive probabilities for the test data. 

sbrl documentation built on May 1, 2019, 11:02 p.m.