Autres thèmes

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.