2 Visualizations

ThefeaturePlot function is a wrapper for differentlattice plots to visualize the data. For example, the following figures show the default plot for continuous outcomes generated using thefeaturePlot function.

For classification data sets, theiris data are used for illustration.

str(iris)
## 'data.frame':    150 obs. of  5 variables:##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

Scatterplot Matrix

library(AppliedPredictiveModeling)transparentTheme(trans =.4)library(caret)featurePlot(x = iris[,1:4],y = iris$Species,plot ="pairs",            ## Add a key at the topauto.key =list(columns =3))

Scatterplot Matrix with Ellipses

featurePlot(x = iris[,1:4],y = iris$Species,plot ="ellipse",            ## Add a key at the topauto.key =list(columns =3))

Overlayed Density Plots

transparentTheme(trans =.9)featurePlot(x = iris[,1:4],y = iris$Species,plot ="density",             ## Pass in options to xyplot() to             ## make it prettierscales =list(x =list(relation="free"),y =list(relation="free")),adjust =1.5,pch ="|",layout =c(4,1),auto.key =list(columns =3))

Box Plots

featurePlot(x = iris[,1:4],y = iris$Species,plot ="box",             ## Pass in options to bwplot()scales =list(y =list(relation="free"),x =list(rot =90)),layout =c(4,1 ),auto.key =list(columns =2))

Scatter Plots

For regression, the Boston Housing data is used:

library(mlbench)data(BostonHousing)regVar <-c("age","lstat","tax")str(BostonHousing[, regVar])
## 'data.frame':    506 obs. of  3 variables:##  $ age  : num  65.2 78.9 61.1 45.8 54.2 58.7 66.6 96.1 100 85.9 ...##  $ lstat: num  4.98 9.14 4.03 2.94 5.33 ...##  $ tax  : num  296 242 242 222 222 222 311 311 311 311 ...

When the predictors are continuous,featurePlot can be used to create scatter plots of each of the predictors with the outcome. For example:

theme1 <-trellis.par.get()theme1$plot.symbol$col =rgb(.2,.2,.2,.4)theme1$plot.symbol$pch =16theme1$plot.line$col =rgb(1,0,0,.7)theme1$plot.line$lwd <-2trellis.par.set(theme1)featurePlot(x = BostonHousing[, regVar],y = BostonHousing$medv,plot ="scatter",layout =c(3,1))

Note that the x-axis scales are different. The function automatically usesscales = list(y = list(relation = "free")) so you don’t have to add it. We can also pass in options to thelattice functionxyplot. For example, we can add a scatter plot smoother by passing in new options:

featurePlot(x = BostonHousing[, regVar],y = BostonHousing$medv,plot ="scatter",type =c("p","smooth"),span =.5,layout =c(3,1))

The optionsdegree andspan control the smoothness of the smoother.