# Create a fast-and-frugal tree (FFT) predicting heart disease
<- FFTrees(formula = diagnosis ~.,
heart.fft 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) (Martignon, Vitouch, Takezawa, & Forster, 2003) 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 (Gigerenzer, Czerlinski, & Martignon, 1999; see Gigerenzer & Todd, 1999). They are frequently preferable to more complex decision strategies (such as logistic regression) because they rarely over-fit data (Gigerenzer & Brighton, 2009) and are easy to interpret and implement in real-world decision tasks (Marewski & Gigerenzer, 2012). They have been used in real world tasks from detecting depression (Jenny, Pachur, Williams, Becker, & Margraf, 2013), to making fast decisions in emergency rooms (Green & Mehr, 1997).
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.
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 |
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
@article{phillips2017FFTrees,
= {FFTrees: A toolbox to create, visualize, and evaluate fast-and-frugal decision trees},
title = {Phillips, Nathaniel D and Neth, Hansjoerg and Woike, Jan K and Gaissmaier, Wolfgang},
author = 2017,
year = {Judgment and Decision Making},
journal = 12,
volume = 4,
number = {344--368}
pages }
The package contains several datasets taken from the UCI Machine Learning Repository that you can use to play around with FFTrees
heartdisease
– Patients suspected of having heart disease sourcebreastcancer
– Patients suspected of having breast cancer sourcetitanic
– Passengers on the Titanicforestfires
– Forest fire statistics sourcewine
– Ratings of wine quality sourceincome
– Census data from > 30,000 US residents sourcevoting
– 1984 US congressional voting records sourceThe 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.