# The Iterative Bayesian Model Averaging (BMA) algorithm

### Description

The iterative Bayesian Model Averaging (BMA) algorithm is a variable selection and classification algorithm with an application of classifying 2-class microarray samples, as described in Yeung, Bumgarner and Raftery (Bioinformatics 2005, 21: 2394-2402).

### Details

Package: | iterativeBMA |

Type: | Package |

Version: | 0.1.0 |

Date: | 2005-12-30 |

License: | GPL version 2 or higher |

The function `iterateBMAglm.train`

selects relevant variables by
iteratively applying the `bic.glm`

function from the `BMA`

package.
The data is assumed to consist of two classes.
The function `iterateBMAglm.train.predict`

combines the training
and prediction phases, and returns the predicted posterior probabilities
that each test sample belongs to class 1.
The function `iterateBMAglm.train.predict.test`

combines the training,
prediction and test phases, and returns a list consisting of the
numbers of selected genes and models using the training data, the number
of classification errors and the Brier Score on the test set.

### Author(s)

Ka Yee Yeung, University of Washington, Seattle, WA, with contributions from Adrian Raftery and Ian Painter

Maintainer: Ka Yee Yeung <kayee@u.washington.edu>

### References

Yeung, K.Y., Bumgarner, R.E. and Raftery, A.E. (2005) Bayesian Model Averaging: Development of an improved multi-class, gene selection and classification tool for microarray data. Bioinformatics 21: 2394-2402.

### See Also

`iterateBMAglm.train.predict`

,
`iterateBMAglm.train.predict.test`

,
`bma.predict`

,
`brier.score`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | ```
library (Biobase)
library (BMA)
library (iterativeBMA)
data(trainData)
data(trainClass)
## training phase: select relevant genes
ret.bic.glm <- iterateBMAglm.train (train.expr.set=trainData, trainClass, p=100)
## get the selected genes with probne0 > 0
ret.gene.names <- ret.bic.glm$namesx[ret.bic.glm$probne0 > 0]
data (testData)
## get the subset of test data with the genes from the last iteration of bic.glm
curr.test.dat <- t(exprs(testData)[ret.gene.names,])
## to compute the predicted probabilities for the test samples
y.pred.test <- apply (curr.test.dat, 1, bma.predict, postprobArr=ret.bic.glm$postprob, mleArr=ret.bic.glm$mle)
## compute the Brier Score if the class labels of the test samples are known
data (testClass)
brier.score (y.pred.test, testClass)
``` |