20.1 Decision Trees Setup

20180603 Packages used in this chapter include C50 (Kuhn and Quinlan 2021), RWeka (Hornik 2021), party (Hothorn et al. 2021), partykit (Hothorn and Zeileis 2021), rpart (Therneau and Atkinson 2019), rpart.plot (Milborrow 2021), and rattle (G. Williams 2021).

Packages are loaded into the currently running R session from your local library directories on disk. Missing packages can be installed using utils::install.packages() within R. On Ubuntu, for example, R packages can also be installed using $ wajig install r-cran-<pkgname>.

# Load required packages from local library into the R session.

library(C50)          # Original C5.0 implementation.
library(RWeka)        # Weka decision tree J48.
library(party)        # Conditional decision trees ctree().
library(partykit)     # Convert rpart object to BinaryTree
library(rattle)       # GUI for building trees and fancy tree plot.
library(rpart)        # Popular decision tree algorithm.
library(rpart.plot)   # Enhanced tree plots.

The rattle::weatherAUS dataset is loaded into the template variable ds and further template variables are setup as introduced by Graham J. Williams (2017). See Chapter 8 for details.

dsname <- "weatherAUS"
ds     <- get(dsname)
    
nobs   <- nrow(ds)

vnames <- names(ds)
ds    %<>% clean_names(numerals="right")
names(vnames) <- names(ds)

vars   <- names(ds)
target <- "rain_tomorrow"
vars   <- c(target, vars) %>% unique() %>% rev()

It is always useful to remind ourselves of the dataset with a random sample:

ds  %>% sample_frac() %>% select(date, location, sample(3:length(vars), 5))
## # A tibble: 198,656 × 7
##    date       location     wind_gust_speed rain_tomorrow min_temp wind_speed_3pm
##    <date>     <chr>                  <dbl> <fct>            <dbl>          <dbl>
##  1 2017-06-01 Melbourne                 20 No                 7.9              9
##  2 2011-08-10 SydneyAirpo…              48 No                 5.7             19
##  3 2009-09-28 Portland                  33 No                 8.2             19
##  4 2015-09-21 PearceRAAF                35 No                 8.9             22
##  5 2013-12-04 Albury                    54 Yes               21.5              7
##  6 2011-02-02 Brisbane                  24 Yes               25               11
##  7 2021-07-19 Hobart                    43 No                 9               15
##  8 2018-01-03 Moree                     50 No                20               24
##  9 2017-11-16 Townsville                39 No                22.8             28
## 10 2013-04-01 Dartmoor                  41 No                10.9             22
## # … with 198,646 more rows, and 1 more variable: max_temp <dbl>

References

Hornik, Kurt. 2021. RWeka: R/Weka Interface. https://CRAN.R-project.org/package=RWeka.
Hothorn, Torsten, Kurt Hornik, Carolin Strobl, and Achim Zeileis. 2021. Party: A Laboratory for Recursive Partytioning. http://party.R-forge.R-project.org.
Hothorn, Torsten, and Achim Zeileis. 2021. Partykit: A Toolkit for Recursive Partytioning. http://partykit.r-forge.r-project.org/partykit/.
Kuhn, Max, and Ross Quinlan. 2021. C50: C5.0 Decision Trees and Rule-Based Models. https://topepo.github.io/C5.0/.
Milborrow, Stephen. 2021. Rpart.plot: Plot Rpart Models: An Enhanced Version of Plot.rpart. http://www.milbo.org/rpart-plot/index.html.
Therneau, Terry, and Beth Atkinson. 2019. Rpart: Recursive Partitioning and Regression Trees. https://CRAN.R-project.org/package=rpart.
Williams, Graham. 2021. Rattle: Graphical User Interface for Data Science in r. https://rattle.togaware.com/.
Williams, Graham J. 2017. The Essentials of Data Science: Knowledge Discovery Using r. The r Series. CRC Press.


Your donation will support ongoing availability and give you access to the PDF version of this book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2021 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0