# Introduction

<br />

> [!NOTE]
> **Estimated Course Time:** 2.5 hours

Decision forests provide the following benefits:

- They are **easier to configure** than neural networks. Decision forests have **fewer hyperparameters** ; furthermore, the hyperparameters in decision forests provide **good defaults**.
- They **natively handle** numeric, categorical, and missing features. This means you can write far less preprocessing code than when using a neural network, saving you time and reducing sources for error.
- They often give **good results out of the box**, are robust to noisy data, and have interpretable properties.
- They infer and train on small datasets (\< 1M examples) **much faster** than neural networks.

Decision forests produce great results in machine learning competitions, and
are heavily used in many industrial tasks.

This course introduces decision trees and decision forests.
Decision forests are a family of
[interpretable](https://developers.google.com/machine-learning/glossary#interpretability) machine learning
algorithms that excel with tabular data.
Decision forests can perform:

- [Classification](https://developers.google.com/machine-learning/glossary/#classification-model)
- [Regression](https://developers.google.com/machine-learning/glossary/#regression-model)
- [Ranking](https://developers.google.com/machine-learning/glossary/#ranking)
- [Anomaly detection](https://developers.google.com/machine-learning/glossary#anomaly-detection)
- [Uplift modeling](https://developers.google.com/machine-learning/glossary/#uplift-modeling).

> [!NOTE]
> **Learning Objectives:**
>
> - Explain decision trees and decision forests.
> - Determine how decision trees and decision forests make predictions.
> - Understand how different types of decision forests, such as random forests and gradient boosted trees.
> - Explain when decision forests perform well, and what their limitations are.
> - Develop a sense of how to use decision forests effectively.

YDF Code This course explains how decision forests work without focusing on any specific libraries. However, throughout the course, text boxes showcase code examples that rely on the [YDF](https://ydf.readthedocs.io) decision forest library, but can be be converted to other decision forest libraries.

## Prerequisites

This course assumes you have completed the following courses or have equivalent
knowledge:

- [Machine Learning Crash Course](https://developers.google.com/machine-learning/crash-course)
- [Machine Learning Problem Framing](https://developers.google.com/machine-learning/problem-framing)
- [Data Prep and Feature Engineering](https://developers.google.com/machine-learning/data-prep)

*Happy Learning!*