This allows to guard against the worst case where `n_indices >>> n_node_samples`, which mainly occurrs near the leaves (bottom of the tree). On a not so sparse dataset like covertype, this behavior clearly shown.

```
# 20 news group (density ~ 0.0012)
rf = RandomForestClassifier(max_features=0.1, random_state=0)
rf without                88.6212s   0.0903s     0.3586  
rf with 0.1 * n_indices   95.1268s   0.1226s     0.3586  
rf with 0.2 * n_indices   89.6108s   0.1077s     0.3586  

# Covertype (density ~ 0.22)
dt without               436.5677s   0.0164s     0.0426  
dt with 0.1 * n_indices   68.9361s   0.0193s     0.0426 
dt with 0.2 * n_indices   60.6809s   0.0147s     0.0426
```

Though the 0.1 factor for algorithm switching might be too small.