The Brier Score is a probabilistic number of errors that takes
the predicted probabilities into consideration. A small Brier
Score indicates high prediction accuracy. This function assumes
2-class data, and requires the true class labels to be known.
Usage
brier.score (predictedArr, truthArr)
Arguments
predictedArr
a vector consisting of the predicted probabilities
that the test sample belongs to class 1.
truthArr
a zero-one vector indicating the known class labels of
the test samples. We assume this vector has the same
length as predictedArr.
Details
The Brier Score computes the sum of squares of the differences
between the true class and the predicted probability over all
test samples. If the predicted probabilities are constrained
to equal to 0 or 1, the Brier Score is equal to the total
number of classification errors.
Value
A non-negative real number.
References
Brier, G.W. (1950)
Verification of forecasts expressed in terms of probability. Monthly Weather Review 78: 1-3.
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
bma.predict,
iterateBMAglm.train.predict
Examples
library (Biobase)
library (BMA)
library (iterativeBMA)
data(trainData)
data(trainClass)
data (testData)
ret.vec <- iterateBMAglm.train.predict (train.expr.set=trainData, test.expr.set=testData, trainClass, p=100)
## compute the Brier Score
data (testClass)
brier.score (ret.vec, testClass)
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(iterativeBMA)
Loading required package: BMA
Loading required package: survival
Loading required package: leaps
Loading required package: robustbase
Attaching package: 'robustbase'
The following object is masked from 'package:survival':
heart
Loading required package: inline
Loading required package: rrcov
Scalable Robust Estimators with High Breakdown Point (version 1.3-11)
Loading required package: Biobase
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
rbind, rownames, sapply, setdiff, sort, table, tapply, union,
unique, unsplit
Welcome to Bioconductor
Vignettes contain introductory material; view with
'browseVignettes()'. To cite Bioconductor, see
'citation("Biobase")', and for packages 'citation("pkgname")'.
Attaching package: 'Biobase'
The following object is masked from 'package:robustbase':
rowMedians
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/iterativeBMA/brier_score.Rd_%03d_medium.png", width=480, height=480)
> ### Name: brier.score
> ### Title: Brier Score: assessment of prediction accuracy
> ### Aliases: brier.score
> ### Keywords: classif
>
> ### ** Examples
>
> library (Biobase)
> library (BMA)
> library (iterativeBMA)
> data(trainData)
> data(trainClass)
> data (testData)
>
> ret.vec <- iterateBMAglm.train.predict (train.expr.set=trainData, test.expr.set=testData, trainClass, p=100)
[1] "5: explored up to variable ## 100"
There were 50 or more warnings (use warnings() to see the first 50)
>
> ## compute the Brier Score
> data (testClass)
> brier.score (ret.vec, testClass)
[1] 2.221017
>
>
>
>
>
>
> dev.off()
null device
1
>