# Course Summary

<br />

Here is a quick summary of what you learned in the course:

- A [**decision tree**](https://developers.google.com/machine-learning/glossary#decision-tree) is a model composed of a collection of [**conditions**](https://developers.google.com/machine-learning/glossary#condition) organized hierarchically in the shape of a tree. Conditions fall into various categories:
  - An [**axis-aligned
    condition**](https://developers.google.com/machine-learning/glossary#axis-aligned-condition) involves only a single feature. An [**oblique
    condition**](https://developers.google.com/machine-learning/glossary#oblique-condition) involves multiple features.
  - A [**binary
    condition**](https://developers.google.com/machine-learning/glossary#binary-condition) has two possible outcomes. A [**non-binary
    condition**](https://developers.google.com/machine-learning/glossary#non-binary-condition) has more than two possible outcomes.
- Training a decision tree involves searching for the best condition at each node. The [**splitter**](https://developers.google.com/machine-learning/glossary#splitter) routine uses metrics such as [**information
  gain**](https://developers.google.com/machine-learning/glossary#information-gain) or [**Gini**](https://developers.google.com/machine-learning/glossary#gini-impurity) to determine the best condition.
- A [**decision forest**](https://developers.google.com/machine-learning/glossary#decision-forest) is a mode made of multiple decision trees. The prediction of a decision forest is the aggregation of the predictions of its decision trees.
- A [**random forest**](https://developers.google.com/machine-learning/glossary#random-forest) is an ensemble of decision trees in which each decision tree is trained with a specific random noise.
- [**Bagging**](https://developers.google.com/machine-learning/glossary#bagging) is a technique in which each decision tree in the random forest is trained on a different subset of examples.
- Random forests do not require a validation dataset. Instead, most random forests use a technique called [**out-of-bag-evaluation**](https://developers.google.com/machine-learning/glossary#out-of-bag-evaluation) to evaluate the quality of the model.
- A [**gradient boosted (decision)
  tree**](https://developers.google.com/machine-learning/glossary#gradient-boosted-decision-trees-gbt) is a type of decision forest trained through iterative adjustments from input decision trees. A value called [**shrinkage**](https://developers.google.com/machine-learning/glossary#shrinkage) controls the rate at which a gradient boosted (decision) tree learns and the degree to which it could overfit.

## References

- [Greedy Function Approximation: A Gradient Boosting
  Machine](https://jerryfriedman.su.domains/ftp/trebst.pdf), J. Friedman.
- [The Elements of Statistical
  Learning](https://web.stanford.edu/%7Ehastie/Papers/ESLII.pdf), Trevor Hastie. Chapter 10.
- [Generalized Boosted Models: A guide to the gbm
  package](http://www.saedsayad.com/docs/gbm2.pdf), G. Ridgeway