Disons que j'ai un modèle de classification prédictif basé sur une forêt aléatoire (en utilisant le package randomForest dans R). Je voudrais le configurer pour que les utilisateurs finaux puissent spécifier un élément pour lequel générer une prédiction, et cela produira une probabilité de classification. Jusqu'à présent, aucun problème.
Mais il serait utile / cool de pouvoir sortir quelque chose comme un graphique d'importance variable, mais pour l'élément spécifique prévu, pas pour l'ensemble d'entraînement. Quelque chose comme:
L'article X devrait être un chien (73% de chances)
Parce que:
Jambes = 4
Souffle = mauvaise
fourrure = court
Nourriture = méchant
Tu obtiens le point. Existe-t-il un moyen standard, ou du moins justifiable, d'extraire ces informations d'une forêt aléatoire formée? Si oui, quelqu'un a-t-il du code qui le fera pour le package randomForest?
m
prédicteurs un par un et chercher à voir comment la forêt prédit différemment semble un peu cher. Il doit y avoir un meilleur moyen.Réponses:
La première idée consiste simplement à imiter la stratégie d'élimination à partir d'une importance variable et à tester comment le mélange de chaque attribut dégénérera la confiance de la forêt dans la classification des objets (sur OOB et avec certaines répétitions évidemment). Cela nécessite un certain codage, mais est certainement réalisable.
Cependant, je pense que c'est juste une mauvaise idée - le résultat sera probablement variable comme l'enfer (sans stabiliser l'impact de la moyenne sur les objets), bruyant (pour les objets pas si confiants que les attributs absurdes pourraient avoir de gros impacts) et difficile à interpréter (deux ou plusieurs règles coopératives d'attribut entraîneront probablement des impacts aléatoires de chaque attribut contributif).
Pour ne pas vous laisser de réponse négative, je préfère essayer de regarder la matrice de proximité et les archétypes possibles qu'elle peut révéler - cela semble beaucoup plus stable et simple.
la source
J'essaierais avec le framework Lime .
Il fonctionne avec de nombreux modèles (y compris la forêt aléatoire). Il peut être utilisé pour une interprétation locale (c'est-à-dire expliquer une seule prédiction) ou pour une interprétation globale (c'est-à-dire expliquer un modèle entier).
Citant de l'asbtract
Il a des packages à la fois pour R et python , et de nombreux exemples si vous le recherchez sur Google.
la source