J'utilise l'algorithme de forêt aléatoire en tant que classificateur robuste de deux groupes dans une étude de microréseau comportant des milliers d'éléments.
- Quelle est la meilleure façon de présenter la forêt aléatoire de manière à ce qu'il y ait suffisamment d'informations pour la rendre reproductible dans un document?
- Existe-t-il une méthode de tracé dans R pour tracer réellement l'arbre, s'il y a un petit nombre d'entités?
- Est-ce que l'estimation du taux d'erreur hors bande est la meilleure statistique à citer?
r
machine-learning
classification
random-forest
microarray
danielsbrewer
la source
la source
Réponses:
Pour ce qui est de le rendre reproductible, le meilleur moyen est de fournir une recherche reproductible (code et données) avec le papier. Rendez-le disponible sur votre site Web ou sur un site d'hébergement (comme github).
En ce qui concerne la visualisation, Leo Breiman a fait un travail intéressant à ce sujet (voir sa page d’accueil , en particulier la section sur les graphiques ).
Mais si vous utilisez R, le
randomForest
paquet a quelques fonctions utiles:Et
Je ne suis pas au courant d'un moyen simple de tracer un arbre, mais vous pouvez utiliser la
getTree
fonction pour récupérer l'arbre et le tracer séparément.La présentation de Strobl / Zeileis sur "Pourquoi et comment utiliser des mesures aléatoires d'importance variable de la forêt (et comment vous ne devriez pas le faire)" contient des exemples d'arbres qui doivent avoir été produits de cette manière. Ce billet de blog sur les modèles d’arbre contient quelques exemples intéressants de diagrammes CART que vous pouvez utiliser, par exemple.
Comme @chl a commenté, un seul arbre n'a pas vraiment de sens dans ce contexte. Aussi, à moins de l'utiliser pour expliquer ce qu'est une forêt aléatoire, je ne l'inclurais pas dans un document.
la source
plot.randomForest
montre comment l’erreur OOB et l’erreur OOB en classe ont évolué avec le nombre croissant d’arbres;varImpPlot
affiche les mesures d'importance d'attribut pour les attributs supérieurs etMDSplot
tous les objets tracés sur la projection 2D de la mesure de proximité d'un objet RF.MDSplot()
fonction. Je dois admettre que j'utilise souvent les RF comme moyen de mettre en évidence des grappes d'individus (en fonction de la mesure de proximité RF) plutôt que de sélectionner les meilleures caractéristiques. Les cliniciens lisent souvent beaucoup plus facilement de tels graphiques que les graphiques à points de var. importance ...la source
Gardez à l'esprit les mises en garde dans les autres réponses sur le fait que l'intrigue a nécessairement un sens. Mais si vous voulez une parcelle à des fins d'illustration / pédagogique, l'extrait suivant de R peut être utile. Pas difficile d'ajouter "point de partage" au texte de bord si vous en avez besoin.
la source