Consolidate description of missing values in tree-based models `RandomForestClassifier` and `ExtraTreesClassifier`

### Describe the issue linked to the documentation

[HistGradientBoostingClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.HistGradientBoostingClassifier.html) has a section right at the beginning that discusses how missing values are handled. 

Otoh, RandomForestClassifier and ExtraTreesClassifier does not, and it is actually unclear from the docstring how it is handled. This leads to some confusion, and users would have to go fishing within our User Guide, or even the raw Cython code to understand how the missing-ness is handled.

### Suggest a potential alternative/fix

Add the following to [RandomForestClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html):

```
This estimator has native support for missing values (NaNs). During training, the tree grower learns at each split point whether samples with missing values should go to the left or right child, based on the potential gain. When predicting, samples with missing values are assigned to the left or right child consequently. If no missing values were encountered for a given feature during training, then samples with missing values are mapped to whichever child has the most samples.
```

Add corresponding entry in https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html, https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html and https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesRegressor.html.

COMMENT:
> ### Describe the issue linked to the documentation
> [HistGradientBoostingClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.HistGradientBoostingClassifier.html) has a section right at the beginning that discusses how missing values are handled.
> 
> Otoh, RandomForestClassifier and ExtraTreesClassifier does not, and it is actually unclear from the docstring how it is handled. This leads to some confusion, and users would have to go fishing within our User Guide, or even the raw Cython code to understand how the missing-ness is handled.
> 
> ### Suggest a potential alternative/fix
> Add the following to [RandomForestClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html):
> 
> ```
> This estimator has native support for missing values (NaNs). During training, the tree grower learns at each split point whether samples with missing values should go to the left or right child, based on the potential gain. When predicting, samples with missing values are assigned to the left or right child consequently. If no missing values were encountered for a given feature during training, then samples with missing values are mapped to whichever child has the most samples.
> ```
> 
> Add corresponding entry in https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html, https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html and https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesRegressor.html.

@adam2392 hey, can you please link relevant documentation files in which the required updations have to be made.
i don't think ```doc/modules/ensemble.rst``` has to do anything with it, right?

Labels: Documentation