La forêt au hasard de sortie de l'interprétation
J'ai couru une forêt au hasard de mes données et obtenu la sortie de la forme d'une matrice.
Quelles sont les règles qu'il applique pour les classer?
P. S. je veux un profil de la clientèle en tant que sortie,
par exemple, Personne de New York, travaille dans l'industrie de la technologie, etc.
Comment puis-je interpréter les résultats d'une forêt aléatoire?
Vous devez vous connecter pour publier un commentaire.
Les règles appliquées par chaque arbre
En supposant que vous utilisez le
randomForest
paquet, c'est la façon dont vous accédez à la monté des arbres dans la forêt.Ce spectacle de la sortie de l'arbre n ° 1 de la 500:
Vous commencez à lire à la première ligne qui décrit la racine de split. La racine de split a été basé sur la variable 3, c'est à dire si
Petal.Length <= 2.50
continuer à la fille de gauche du nœud (ligne 2) et siPetal.Length > 2.50
continuer à la fille de droite nœud (ligne 3). Si l'état d'une ligne est-1
, comme il est sur la ligne 2, cela signifie que nous avons atteint une feuille et faire une prédiction, dans ce cas, la classe1
, c'est à diresetosa
.Il est écrit dans le manuel fait donc un coup d'oeil à
?randomForest
et?getTree
pour plus de détails.Regardant importance variable à travers la forêt
Ont un coup d'oeil à
?importance
et?varImpPlot
. Cela vous donne un seul score par variable agrégée sur l'ensemble de la forêt."plot randomforest tree"
j'ai trouvé cela assez vaste réponse: Comment tracer un arbre échantillon de randomForest::getTree()? Malheureusement, il semble qu'il n'est pas facilement disponible fonction sauf si vous passez à lacforest
mise en œuvre de la forêt au hasard (dans leparty
package). En outre, si vous avez voulu savoir comment tracer un arbre, vous devriez avoir écrit dans votre question initiale. Pour le moment, il n'est pas très spécifique.Petal.Length <= 2.50
il pourrait êtrePetal.Length > 2.50
. Comment nous arrivons avec>
ou<
pour un état??getTree
: "Pour les prédicteurs, de données avec les valeurs de la variable inférieur ou égal à la division de point d'aller à la fille de gauche du nœud."labelVar=TRUE
dansgetTree
pour obtenir les noms de vos variables dans la sortie plutôt que de garder la trace par l'index.La "inTrees" package R peut être utile.
Ici est un exemple.
Extraire des premières règles à partir d'une forêt aléatoire:
Mesure de règles.
len
est le nombre de paires variable-valeur dans une condition,freq
est le pourcentage de données de satisfaire à une condition,pred
est le résultat d'une règle, c'est à dire,condition
=>pred
,err
est le taux d'erreur d'une règle.Tailler chaque règle:
Sélectionnez un cd ensemble de règles:
Construire un ordre de la règle de liste comme un classificateur:
Établir des règles plus lisible:
Extrait de fréquentes variable interactions (notez que les règles ne sont pas taillés ou sélectionnée):
On peut aussi présenter ces motifs fréquents dans une forme lisible à l'aide de la fonction presentRules.
En outre, des règles ou des motifs fréquents peuvent être formatés en LaTex.
En plus de la grande les réponses ci-dessus, j'ai trouvé intéressant d'un autre instrument visant à explorer le général de sorties d'une forêt aléatoire: fonction
explain_forest
le paquetrandomForestExplainer
. Voir ici pour plus de détails.exemple de code:
S'il vous plaît, notez:
localImp
doit être défini commeTRUE
, sinon leexplain_forest
quittera avec une erreurCela va générer un
.html
fichier, nomméYour_forest_explained.html
, dans votremy/destination/path
que vous pouvez facilement ouvrir dans un Navigateur Web.Dans ce rapport, vous trouverez les informations utiles sur la structure des arbres et de la forêt et plusieurs statistiques utiles sur les variables.
Comme un exemple, voir ci-dessous une représentation graphique de la distribution de la profondeur minimale parmi les arbres de la grande forêt
ou de l'un de la multi-voies importance parcelles
Vous pouvez vous référer à cette pour l'interprétation du rapport.