25.3 Bagging

Just as bootstrapping can estimate variability for statistics, it can also do so for predictions. This process is known as Bootstrap AGGrigation, or bagging. It turns out that, when doing bootstrap sampling, about 1/3 of the entries don’t make it into the resampled data set. These points are called out-of-bag (oob), and the rest are in-bag. We can use oob data like a free testing set. First a simple example to illustrate, then a non-trivial one.

We see the bootstrap confidence interval is very close to the normal theory interval, as was the case above. This isn’t super useful for linear models, but gives us a way to measure uncertainty for models which don’t have a probability model to give us error bars, such as CART.

Now, we bag cart. We’ll use the very first example.

Let’s look at some results!

oobPredictions[, 1:5]
##        [,1] [,2] [,3] [,4] [,5]
##   [1,]    1   NA    1   NA    1
##   [2,]   NA   NA   NA   NA   NA
##   [3,]   NA    1    1   NA    1
##   [4,]    1   NA   NA   NA   NA
##   [5,]   NA   NA    1   NA    1
##   [6,]    1   NA   NA   NA    1
##   [7,]    1   NA    1    1   NA
##   [8,]   NA   NA   NA   NA   NA
##   [9,]   NA   NA   NA   NA   NA
##  [10,]   NA   NA   NA    1   NA
##  [11,]   NA   NA   NA   NA   NA
##  [12,]   NA   NA    1   NA    1
##  [13,]   NA    1    1   NA   NA
##  [14,]   NA   NA    1   NA    1
##  [15,]    1    1    1   NA    1
##  [16,]    1    1    1   NA    1
##  [17,]   NA   NA   NA   NA   NA
##  [18,]   NA   NA   NA   NA    1
##  [19,]   NA    1   NA    1    1
##  [20,]   NA   NA   NA    1   NA
##  [21,]   NA   NA    1   NA    1
##  [22,]    1   NA    1    1   NA
##  [23,]   NA   NA   NA    1   NA
##  [24,]    1    1    1    1   NA
##  [25,]   NA   NA    1    1    1
##  [26,]    1   NA    1   NA   NA
##  [27,]   NA   NA   NA   NA    1
##  [28,]   NA    1   NA    1    1
##  [29,]   NA   NA   NA    1    1
##  [30,]   NA   NA   NA   NA   NA
##  [31,]    1   NA   NA    1   NA
##  [32,]   NA    1    1    1    1
##  [33,]   NA    1   NA   NA   NA
##  [34,]   NA    1   NA   NA   NA
##  [35,]    1    1   NA   NA    1
##  [36,]   NA   NA   NA    1    1
##  [37,]    1    1    1    1    1
##  [38,]   NA    1   NA    1   NA
##  [39,]   NA   NA   NA    1    1
##  [40,]    1   NA   NA   NA   NA
##  [41,]   NA   NA    1   NA   NA
##  [42,]   NA   NA   NA    1   NA
##  [43,]    1    1    1   NA    1
##  [44,]    1   NA    1   NA    1
##  [45,]    1   NA   NA   NA   NA
##  [46,]   NA   NA   NA   NA   NA
##  [47,]   NA   NA    1    1   NA
##  [48,]   NA    1   NA   NA   NA
##  [49,]   NA   NA    1   NA    1
##  [50,]   NA    1   NA   NA    1
##  [51,]    2   NA   NA    2   NA
##  [52,]   NA   NA    2   NA   NA
##  [53,]   NA   NA    2   NA    2
##  [54,]    2   NA    2    2    2
##  [55,]   NA   NA    2   NA   NA
##  [56,]    2   NA   NA   NA   NA
##  [57,]   NA   NA   NA    2   NA
##  [58,]    2   NA   NA   NA   NA
##  [59,]   NA   NA   NA    2    2
##  [60,]   NA   NA   NA   NA    2
##  [61,]    2   NA   NA   NA   NA
##  [62,]   NA    2   NA   NA   NA
##  [63,]   NA    2   NA   NA   NA
##  [64,]    2   NA    2   NA   NA
##  [65,]   NA   NA   NA   NA    2
##  [66,]   NA    2   NA   NA   NA
##  [67,]   NA   NA   NA   NA   NA
##  [68,]   NA   NA   NA   NA    2
##  [69,]    2   NA   NA    2   NA
##  [70,]   NA    2   NA   NA   NA
##  [71,]   NA   NA   NA    3    3
##  [72,]    2   NA   NA    2    2
##  [73,]    2   NA   NA   NA   NA
##  [74,]   NA    2   NA    2   NA
##  [75,]    2   NA    2    2   NA
##  [76,]   NA   NA    2   NA   NA
##  [77,]   NA   NA   NA   NA    2
##  [78,]   NA   NA    3    3   NA
##  [79,]    2   NA    2   NA   NA
##  [80,]    2   NA   NA    2   NA
##  [81,]   NA    2    2   NA    2
##  [82,]    2   NA   NA   NA   NA
##  [83,]   NA   NA    2   NA   NA
##  [84,]   NA    3   NA    3   NA
##  [85,]   NA    2   NA   NA   NA
##  [86,]    2    3   NA   NA   NA
##  [87,]    2    2    2    2   NA
##  [88,]   NA    2   NA   NA   NA
##  [89,]    2   NA    2    2   NA
##  [90,]   NA   NA   NA   NA   NA
##  [91,]   NA    2   NA    2   NA
##  [92,]   NA   NA   NA    2   NA
##  [93,]   NA    2    2   NA   NA
##  [94,]   NA    2   NA   NA   NA
##  [95,]   NA   NA   NA    2    2
##  [96,]   NA    2    2   NA   NA
##  [97,]    2   NA   NA   NA   NA
##  [98,]   NA    2    2   NA    2
##  [99,]    2   NA    2   NA    2
## [100,]   NA   NA    2   NA   NA
## [101,]    3   NA    3   NA   NA
## [102,]   NA   NA   NA   NA   NA
## [103,]    3   NA    3   NA    3
## [104,]   NA    3    3    3    3
## [105,]   NA    3   NA   NA   NA
## [106,]   NA    3   NA   NA    3
## [107,]    2   NA   NA   NA   NA
## [108,]   NA    3   NA   NA   NA
## [109,]   NA   NA   NA    3   NA
## [110,]    3   NA    3   NA   NA
## [111,]    3   NA    3   NA    3
## [112,]   NA   NA    3   NA   NA
## [113,]   NA   NA   NA   NA    3
## [114,]   NA   NA   NA    3    3
## [115,]   NA   NA   NA    3   NA
## [116,]    3    3   NA    3    3
## [117,]   NA    3    3   NA   NA
## [118,]    3   NA   NA   NA    3
## [119,]    3   NA    3    3    3
## [120,]    2   NA    3    3   NA
## [121,]   NA    3    3   NA   NA
## [122,]   NA    3   NA   NA   NA
## [123,]   NA   NA   NA    3    3
## [124,]    3   NA    3   NA   NA
## [125,]   NA    3   NA    3   NA
## [126,]   NA   NA    3    3   NA
## [127,]   NA   NA    3   NA   NA
## [128,]   NA    3    3   NA   NA
## [129,]   NA   NA   NA   NA   NA
## [130,]    2   NA   NA   NA   NA
## [131,]   NA    3   NA    3   NA
## [132,]    3    3   NA   NA   NA
## [133,]   NA   NA    3   NA    3
## [134,]    2    3   NA    3    2
## [135,]    2   NA   NA   NA   NA
## [136,]   NA    3   NA   NA    3
## [137,]   NA   NA   NA   NA   NA
## [138,]   NA    3    3   NA   NA
## [139,]    3    3   NA    3    3
## [140,]   NA    3   NA    3    3
## [141,]   NA   NA    3    3    3
## [142,]    3   NA   NA    3   NA
## [143,]   NA   NA   NA   NA    3
## [144,]   NA   NA    3   NA   NA
## [145,]   NA    3   NA   NA   NA
## [146,]    3    3   NA   NA    3
## [147,]   NA   NA   NA   NA    3
## [148,]   NA   NA    3   NA   NA
## [149,]    3    3   NA   NA   NA
## [150,]   NA   NA   NA   NA    3

Congratulations, we just fit a random forest!

Let’s see where the model is uncertain.

As expected, the model is perfectly sure about setosa, but uncertain on the boundary between versicolo and virginica.