FFTrees: Fast-and-frugal decision trees


Fast-and-Frugal Trees (FFTs)

# Create a fast-and-frugal tree (FFT) predicting heart disease
heart.fft <- FFTrees(formula = diagnosis ~.,
                     data = heart.train,
                     data.test = heart.test,
                     main = "Heart Disease",
                     decision.labels = c("Healthy", "Diseased"))

# Visualize the best training tree applied to the test data
plot(heart.fft, data = "test")

A fast-and-frugal tree (FFT) [@martignon2003naive] is a set of hierarchical rules for making decisions based on very little information (usually 4 or fewer). Specifically, it is a decision tree where each node has exactly two branches, where one (or in the cast of the final node, both) branches is an exit branch.

FFTs are simple, transparent decision strategies that use minimal information to make decisions [see @gigerenzer1999fast;@gigerenzer1999good]. They are frequently preferable to more complex decision strategies (such as logistic regression) because they rarely over-fit data [@gigerenzer2009homo] and are easy to interpret and implement in real-world decision tasks [@marewski2012heuristic]. They have been used in real world tasks from detecting depression [@jenny2013simple], to making fast decisions in emergency rooms [@green1997alters].

The purpose of the FFTrees package is to make it easy to produce, display, and evaluate FFTs. The main function in the package is FFTrees() which takes formula formula and dataset data arguments and returns several FFTs which attempt to classify training cases into criterion classes.

How to use the FFTrees package

To get started with FFTrees, we recommend looking at the Heart Disease Tutorial. This tutorial will take you through all of the basics steps of creating, visualising, and evaluating fast-and-frugal trees.


Here is a complete list of the vignettes

| | Vignette Link| Description | |--:|:------------------------------|:-------------------------------------------------| | 1| Heart Disease Tutorial| A complete example of using FFTrees to model heart disease diagnosis | | | Accuracy statistics| Definitions of accuracy statistics used throughout the package| | 2| Creating FFTs with FFTrees() |Description of the main function FFTrees()| | | Specifying FFTs directly|How to create FFTs directly using my.tree without using one of the built-in algorithms| | 3| Visualizing FFTs with plot()|Plotting FFTrees objects, from full trees to icon arrays| | 4| Examples of FFTs|Lots of examples of FFTs from different datasets contained in the package|

Article and citation information

We had a lot of fun creating FFTrees and hope you like it too! We have an article introducing the FFTrees package in the journal Judgment and Decision Making FFTrees Article PDF link. We encourage you to read the article to learn more about the history of FFTs and how the FFTrees package creates them.

If you use FFTrees in your work, please cite us and spread the word so we can continue developing the package

APA Citation

Phillips, Nathaniel D., Neth, Hansjoerg, Woike, Jan K., & Gaissmaier, W. (2017). FFTrees: A toolbox to create, visualize, and evaluate fast-and-frugal decision trees. Judgment and Decision Making, 12(4), 344-368.

BibTeX Citation

 title = {FFTrees: A toolbox to create, visualize, and evaluate fast-and-frugal decision trees},
 author = {Phillips, Nathaniel D and Neth, Hansjoerg and Woike, Jan K and Gaissmaier, Wolfgang},
 year = 2017, 
 journal = {Judgment and Decision Making},
 volume = 12,
 number = 4,
 pages = {344--368}


The package contains several datasets taken from the UCI Machine Learning Repository that you can use to play around with FFTrees


The latest developer version of FFTrees is always at https://github.com/ndphillips/FFTrees. For comments, tips, and bug reports, please post an issue at https://github.com/ndphillips/FFTrees/issues or email me at Nathaniel.D.Phillips.is@gmail.com.



Try the FFTrees package in your browser

Any scripts or data that you put into this service are public.

FFTrees documentation built on July 2, 2020, 2:13 a.m.