web-dev-qa-db-fra.com

R Importance variable des forêts aléatoires

J'essaie d'utiliser le paquet de forêts aléatoires pour la classification dans R.

Les mesures d'importance variable énumérées sont les suivantes:

  • score moyen d'importance brute de la variable x pour la classe 0
  • score moyen d'importance brute de la variable x pour la classe 1
  • MeanDecreaseAccuracy
  • MeanDecreaseGini

Maintenant je sais ce que ces "signifient" comme je connais leurs définitions. Ce que je veux savoir, c'est comment les utiliser.

Ce que je veux vraiment savoir, c'est ce que ces valeurs signifient uniquement dans le contexte de leur exactitude, ce qui est une bonne valeur, ce qui est une mauvaise valeur, quels sont les maximums et les minimums, etc.

Si une variable a un MeanDecreaseAccuracy ou MeanDecreaseGini élevé, cela signifie-t-il qu'elle est importante ou non? Toute information sur les scores bruts pourrait également être utile. Je veux tout savoir sur ces chiffres qui sont pertinents pour leur application.

Une explication qui utilise les mots "erreur", "sommation" ou "permutée" serait moins utile qu'une explication plus simple qui n'impliquait aucune discussion sur le fonctionnement des forêts aléatoires.

Comme si je voulais que quelqu'un m'explique comment utiliser une radio, je ne m'attendrais pas à ce que l'explication implique comment une radio convertit les ondes radio en son.

46
thirsty93

Une explication qui utilise les mots "erreur", "sommation" ou "permutée" serait moins utile qu'une explication plus simple qui n'impliquait aucune discussion sur le fonctionnement des forêts aléatoires.

Comme si je voulais que quelqu'un m'explique comment utiliser une radio, je ne m'attendrais pas à ce que l'explication implique comment une radio convertit les ondes radio en son.

Comment expliqueriez-vous ce que les chiffres de WKRP 100,5 FM "signifient" sans entrer dans les détails techniques embêtants des fréquences des vagues? Franchement, les paramètres et les problèmes de performances liés aux forêts aléatoires sont difficiles à comprendre même si vous comprenez certains termes techniques.

Voici mon tir à quelques réponses:

- score d'importance brute moyen de la variable x pour la classe 0

- score d'importance brute moyen de la variable x pour la classe 1

Simplifier à partir de la forêt aléatoire page Web , le score d'importance brute mesure combien plus utile que aléatoire une variable prédictive particulière est dans la classification réussie des données.

-MeanDecreaseAccuracy

Je pense que ce n'est que dans le module R , et je crois qu'il mesure dans quelle mesure l'inclusion de ce prédicteur dans le modèle réduit l'erreur de classification.

-MeanDecreaseGini

Gini est défini comme une "iniquité" lorsqu'il est utilisé pour décrire la distribution des revenus d'une société, ou une mesure de "l'impureté des nœuds" dans la classification basée sur les arbres. Un Gini faible (c'est-à-dire une diminution plus élevée de Gini) signifie qu'une variable prédictive particulière joue un rôle plus important dans le partitionnement des données dans les classes définies. Il est difficile à décrire sans parler du fait que les données dans les arbres de classification sont divisées au niveau des nœuds individuels en fonction des valeurs des prédicteurs. Je ne sais pas trop comment cela se traduit par de meilleures performances.

27
bubaker

Pour votre préoccupation immédiate: des valeurs plus élevées signifient que les variables sont plus importantes. Cela devrait être vrai pour toutes les mesures que vous mentionnez.

Les forêts aléatoires vous donnent des modèles assez complexes, il peut donc être difficile d'interpréter les mesures d'importance. Si vous voulez comprendre facilement ce que font vos variables, n'utilisez pas de RF. Utilisez plutôt des modèles linéaires ou un arbre de décision (non-ensemble).

Tu as dit:

Une explication qui utilise les mots "erreur", "sommation" ou "permutée" serait moins utile qu'une explication plus simple qui n'impliquait aucune discussion sur le fonctionnement des forêts aléatoires.

Il va être extrêmement difficile d'expliquer bien plus que ce qui précède à moins de creuser et de découvrir les forêts aléatoires. Je suppose que vous vous plaignez du manuel ou de la section du manuel de Breiman:

http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm#varimp

Pour comprendre l'importance d'une variable, ils la remplissent d'ordure aléatoire ("permutez-la"), puis voyez dans quelle mesure la précision prédictive diminue. MeanDecreaseAccuracy et MeanDecreaseGini fonctionnent de cette façon. Je ne sais pas quels sont les scores d'importance brute.

22
Brendan OConnor

L'interprétabilité est un peu difficile avec Random Forests. Alors que RF est un classificateur extrêmement robuste, il fait ses prédictions démocratiquement. J'entends par là que vous construisez des centaines ou des milliers d'arbres en prenant un sous-ensemble aléatoire de vos variables et un sous-ensemble aléatoire de vos données et construisez un arbre. Ensuite, faites une prédiction pour toutes les données non sélectionnées et enregistrez la prédiction. Son robuste car il gère bien les aléas de votre ensemble de données, (c'est-à-dire qu'il lisse les valeurs aléatoires hautes/basses, les parcelles/échantillons fortuits, la mesure la même chose 4 façons différentes, etc.) Cependant, si vous avez des variables très corrélées, les deux peuvent sembler importantes car elles ne sont pas toujours incluses dans chaque modèle.

Une approche potentielle avec des forêts aléatoires peut être d'aider à réduire vos prédicteurs, puis de passer au panier normal ou d'essayer le package PARTY pour les modèles d'arbre basés sur l'inférence. Cependant, vous devez vous méfier des problèmes d'exploration de données et faire des inférences sur les paramètres.

6
kpierce8