Principal Components Analysis of Resampling Results
Performs a principal components analysis on an object of class
resamples and returns the results as an object with classes
## S3 method for class 'resamples': prcomp(x, metric = x$metrics, ...)
cluster(x, ...) ## S3 method for class 'resamples': cluster(x, metric = x$metrics, ...)
## S3 method for class 'prcomp.resamples': plot(x, what = "scree", dims = max(2, ncol(x$rotation)), ...)
prcomp, an object of class
plot.prcomp.resamples, an object of class
- a performance metric that was estimated for every resample
- the type of plot:
"scree"produces a bar chart of standard deviations,
"cumulative"produces a bar chart of the cumulative percent of variance,
"loadings"produces a scatterplot matrix of the loading values and
- The number of dimensions to plot when
what = "loadings"or
what = "components"
prcomp.resamples, options to pass to
plot.prcomp.resamples, options to pass to Lattice objects (see Details below) and, for
The principal components analysis treats the models as variables and the resamples are realizations of the variables. In this way, we can use PCA to "cluster" the assays and look for similarities. Most of the methods for
prcomp can be used, although custom
plot methods are used.
The plot method uses lattice graphics. When
what = "scree" or
what = "cumulative",
barchart is used.
what = "loadings" or
what = "components", either
splom are used (the latter when
dims > 2). Options can be passed to these methods using
what = "loadings" or
what = "components", the plots are put on a common scale so that later components are less likely to be over-interpreted. See Geladi et al (2003) for examples of why this can be important.
hclust is used to determine clusters of models based on the resampled performance values.
prcomp.resamples, an object with classes
prcomp. This object is the same as the object produced by
prcomp, but with additional elements:
metric the value for the
call the call
plot.prcomp.resamples, a Lattice object (see Details above)
Geladi, P.; Manley, M.; and Lestander, T. (2003), "Scatter plotting in multivariate data analysis," J. Chemometrics, 17: 503-511
#load(url("http://topepo.github.io/caret/exampleModels.RData")) resamps <- resamples(list(CART = rpartFit, CondInfTree = ctreeFit, MARS = earthFit)) resampPCA <- prcomp(resamps) resampPCA plot(resampPCA, what = "scree") plot(resampPCA, what = "components") plot(resampPCA, what = "components", dims = 2, auto.key = list(columns = 3)) clustered <- cluster(resamps) plot(clustered)