Ce module traite des sujets suivants:
- des forêts d'arbres décisionnels
- entraîner des forêts d'arbres décisionnels
- avantages et inconvénients des forêts d'arbres décisionnels
Interpréter des forêts d'arbres décisionnels
Les forêts d'arbres décisionnels sont plus complexes à interpréter que les arbres de décision. Forêts d'arbres décisionnels contiennent des arbres de décision entraînés avec un bruit aléatoire. Il est donc plus difficile de porter des jugements sur la structure de l'arbre de décision. Cependant, nous pouvons interpréter des des modèles de forêts de plusieurs façons.
Pour interpréter une forêt aléatoire, une approche consiste simplement à entraîner et à interpréter à l'aide de l'algorithme CART. Parce que la forêt aléatoire et le CART sont tous deux entraînés avec le même algorithme de base, ils "partagent la même vue globale". des ensemble de données. Cette option fonctionne bien pour les ensembles de données simples et pour comprendre l'interprétation globale du modèle.
Les importances des variables constituent une autre option d'interprétabilité : approche. Par exemple, le tableau suivant classe l'importance de la variable différentes caractéristiques d'un modèle de forêt aléatoire entraîné Ensemble de données de recensement (également (Adulte, par exemple).
<ph type="x-smartling-placeholder"></ph> Tableau 8. Importance variable de 14 caractéristiques différentes.
Fonctionnalité | Somme des notes | Diminution moyenne de la précision | Diminution moyenne de l'AUC | Profondeur minimale moyenne | Nombre de nœuds | Diminution moyenne de PR-AUC | Nombre comme racine |
---|---|---|---|---|---|---|---|
relationship | 4203592,6 |
0,0045 |
0,0172 |
4,970 |
57040 |
0,0093 |
1095 |
capital_gain | 3363045,1 |
0,0199 |
0,0194 |
2,852 |
56468 |
0,0655 |
457 |
marital_status | 3128996,3 |
0,0018 |
0,0230 |
6,633 |
52391 |
0,0107 |
750 |
âge | 2520658,8 |
0,0065 |
0,0074 |
4,969 |
356784 |
0,0033 |
200 |
education | 2015905,4 |
0,0018 |
-0,0080 |
5,266 |
115751 |
-0,0129 |
205 |
occupation | 1939409,3 |
0,0063 |
-0,0040 |
5,017 |
221935 |
-0,0060 |
62 |
education_num | 1673648,4 |
0,0023 |
-0,0066 |
6,009 |
58303 |
-0,0080 |
197 |
fnlwgt | 1564189,0 |
-0,0002 |
-0,0038 |
9,969 |
431987 |
-0,0049 |
0 |
hours_per_week | 1333976,3 |
0,0030 |
0,0007 |
6,393 |
206526 |
-0,0031 |
20 |
capital_loss | 866863,8 |
0,0060 |
0,0020 |
8,076 |
58531 |
0,0118 |
1 |
workclass | 644208,4 |
0,0025 |
-0,0019 |
9,898 |
132196 |
-0,0023 |
0 |
native_country | 538841,2 |
0,0001 |
-0,0016 |
9,434 |
67211 |
-0,0058 |
0 |
sex | 226049,3 |
0.0002 |
0.0002 |
10,911 |
37754 |
-0,0011 |
13 |
race | 168180,9 |
-0,0006 |
-0,0004 |
11,571 |
42262 |
-0,0031 |
0 |
Comme vous pouvez le voir, différentes définitions de l'importance des variables ont des échelles différentes et peut entraîner des différences dans le classement des caractéristiques.
Importance des variables provenant de la structure du modèle (par exemple, somme le score, la profondeur minimale moyenne, le nombre de nœuds et le nombre racine dans le tableau ci-dessus) sont calculé de la même manière pour les arbres de décision (voir la section "Panier | Importance de la variable") et des forêts d'arbres décisionnels.
Importance de la variable de permutation (par exemple, diminution moyenne de {accuracy, auc, pr-auc} dans le tableau ci-dessus) sont des mesures indépendantes du modèle pouvant être calculées avec un ensemble de données de validation. Avec une forêt aléatoire, Toutefois, au lieu d'utiliser un ensemble de données de validation, vous pouvez l'importance variable avec l'évaluation hors du sac.
SHAP (SHapley Additive exPlanations) est une méthode indépendante du modèle permettant expliquer les prédictions individuelles ou l'interprétation basée sur le modèle. (Voir Interpretable Machine Learning par Molnar pour une introduction à l'interprétation indépendante des modèles.) SHAP est en général coûteux à calculer, mais il peut être a accéléré considérablement la prise de décision Il s'agit donc d'un bon moyen d'interpréter les forêts de décision.
Exemple d'utilisation
Dans la leçon précédente, nous avons entraîné
un arbre de décision CART sur un petit ensemble de données
en appelant tfdf.keras.CartModel
. Pour entraîner un modèle de forêt aléatoire,
il vous suffit de remplacer tfdf.keras.CartModel
par tfdf.keras.RandomForestModel
:
model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)
Avantages et inconvénients
Cette section propose un bref résumé des avantages et des inconvénients des forêts d'arbres décisionnels.
Avantages :
- Comme les arbres de décision, les forêts d'arbres décisionnels sont compatibles avec les ressources des caractéristiques catégorielles et n'ont souvent pas besoin de prétraitement des caractéristiques.
- Les arbres de décision étant indépendants, les forêts d'arbres décisionnels peuvent être entraînées en parallèle. Vous pouvez donc entraîner rapidement des forêts d'arbres décisionnels.
- Les forêts d'arbres décisionnels possèdent des paramètres par défaut qui donnent souvent d'excellents résultats. Réglage ces paramètres ont souvent peu d'effet sur le modèle.
Inconvénients :
- Comme les arbres de décision ne sont pas éliminés, ils peuvent être volumineux. Modèles avec d'autres plus de 1 million de nœuds sont courants. La taille (et donc la vitesse d'inférence) de la une forêt aléatoire peut parfois être un problème.
- Les forêts d'arbres décisionnels ne peuvent pas apprendre ni réutiliser des représentations internes. Chaque (et chaque branche de chaque arbre de décision) doit réapprendre d'ensemble de données. Dans certains ensembles de données, notamment les ensembles de données non tabulaires (images, texte), les forêts d'arbres décisionnels génèrent de moins bons résultats que les autres méthodes.