Dans cet article, un nouveau projet de l'apprentissage coupage-- un open-source, les objectifs du projet pour créer une feuille de route interactive pour les personnes d'origines différentes, qui comprend la réalisation de tous les concepts, les méthodes, les algorithmes et le code en Python ou R explication.
Au hasard des forêts est flexible, facile à utiliser des algorithmes d'apprentissage machine, même sans ajustement ultra-paramètre, dans la plupart des cas apportera de bons résultats. Il peut être utilisé pour des tâches de classification et de régression. Dans cet article, vous apprendrez comment l'algorithme Random Forest pour résoudre les problèmes de classification et de régression.
Pour comprendre ce qui est l'algorithme Random Forest, il faut d'abord être familier avec les arbres de décision.
Les arbres de décision ont tendance à produire overfitting, en particulier se produire sur la présence de l'ensemble de l'arbre de données. Parfois, un arbre de décision semble avoir seulement la mémoire de données. Voici des exemples typiques de surapprentissage arbre de décision, les données de classification, il existe des données en continu.
1. Classification des données:
Si un des hommes américains âgés entre les âges de 15 et 25 ans, il aime manger de la crème glacée, un ami allemand, oiseaux dégoût, 201225 Août avait mangé des crêpes - alors il est susceptible de télécharger Pokemon Go.
2. Données continues:
Forêt aléatoire prévenir l'apparition de ces problèmes: il est une combinaison d'un arbre de décision multiple, non seulement un arbre de décision. algorithme Random Forest en plus le nombre d'arbres de décision, une meilleure généralisation des résultats.
Plus précisément, les forêts aléatoires fonctionne comme suit:
1. A partir de l'ensemble de données (tableau) k fonctions aléatoires (colonnes), dans lequel un total de m (où k est égal à moins de m). L'arbre de décision est alors la caractéristique de k.
2 n fois, la caractéristique de k établies par différentes combinaisons de différents échantillons aléatoires (aléatoires ou de données, appelés échantillons auto-droit) n arbres de décision.
3. variables aléatoires sont transmises à l'arbre de décision pour chacun des résultats de prédiction. Conservez tous les résultats prévus (but), vous pouvez obtenir des résultats de n n types d'arbres dans l'arbre de décision.
4. Calculer le nombre de voix pour chaque cible de prédiction mode de sélection (le plus variable cible commune). En d'autres termes, l'objectif sera de prédire le nombre élevé de votes que la prédiction finale algorithme Random Forest.
* Pour la régression, les arbres forestiers aléatoires peuvent prédire la valeur de Y (valeur de sortie). Obtenir la valeur de prédiction finale calculée par la valeur moyenne de tous les arbres de la forêt aléatoire des valeurs prévues. Et pour la classification, arbres forestiers au hasard et chacun d'entre eux prédira les dernières données appartiennent à quelle catégorie. En fin de compte, dont la plupart classement est sélectionné, il est prévu que les dernières données appartient à quelle classification.
Exemples:
Auquel James a décidé d'aller aux attractions de Paris la semaine. Il a visité des amis qui avaient passé un an à Paris, qui avait demandé à un ami de visiter des attractions, qu'ils trouvent intéressants. Sur la base de son expérience, son ami James donnera quelques conseils.
Ceci est une méthode d'algorithme d'arbre de décision typique. l'ami de James en fonction de leur expérience, dites-James ce qui peut attractions.
Après James a demandé beaucoup d'amis à Paris devait être, demander des conseils, ils ont recommandé ses attractions visitées. James choisissent alors le nombre le plus recommandé d'attractions, c'est un algorithme de forêt aléatoire typique.
Ainsi, la sélection aléatoire est une des caractéristiques k des forêts aléatoires dans l'arbre de décision a un total de m fonction de la composition des arbres de décision n, et sélectionne ensuite un résultat de mode de prédiction (si un problème de régression, sélectionner la valeur moyenne).
avantages:
1. La classification et la régression peuvent être utilisés pour résoudre le problème: classification des forêts aléatoires et les caractéristiques de valeur peuvent être traitées simultanément.
2. capacités anti-surajustement: l'arbre moyen, ce qui réduit le risque de surajustement.
3. Seulement lorsque plus de la moitié des erreurs de classificateur de base feront la mauvaise prédiction: Random forêts est très stable, même s'il y a une nouvelle série de points de données, l'algorithme données ne seront pas touchés beaucoup, il ne affecter un arbre, il est difficile d'avoir un impact sur l'ensemble de l'arbre de décision.
inconvénients:
1. Il a été observé que, si une partie de la classification des données de formation / régression en présence de bruit, des données aléatoires rassemblement de la forêt est apparu phénomène surajustement.
2. Un algorithme d'arbre de décision est plus complexe qu'un calcul plus.
3. En raison de la complexité de leur propre, ils ont besoin de plus de temps que d'autres algorithmes similaires à train.
paramètre Ultra forêts aléatoires peuvent être utilisées à la fois pour améliorer la capacité prédictive du modèle, il peut aussi accélérer la modélisation. Ce qui suit décrit la fonction des forêts sklearn aléatoire construit des paramètres super:
1. Pour améliorer le pouvoir prédictif
· Le nombre de sous-modèles: Avant d'utiliser le nombre maximum de voix pour prédire ou moyenne, vous voulez établir un certain nombre de sous-arbre. En général, plus le nombre de sous-arbre, plus il peut améliorer les performances, plus stable la précision des prévisions, mais ralentira les calculs.
Le nombre maximum de fonctions impliquées dans la détermination lorsque le noeud: la division de l'arbre de décision des forêts aléatoires en utilisant la fonction permet à un seul nombre maximum. Sklearn propose plusieurs options, telles que décrites dans la documentation.
Le nombre minimal d'échantillons · noeuds de feuille: noeud interne subdivisé nombre minimal d'échantillons requis.
2. accélérer la vitesse de la modélisation
· En même temps: Permet l'utilisation du nombre de processeurs. Si la valeur de sortie est 1, un seul processeur. La valeur de sortie de -1 signifie aucune limite.
· Générateur de nombres aléatoires: modèle peut copie de sortie. Lorsque le modèle est déterminé par un nombre aléatoire, et étant donné les mêmes paramètres et les mêmes données de formation de super, le modèle produira toujours le même résultat.
· Sac extérieur si le calcul du score à: échantillonner le sac extérieur également connu - qui est une validation croisée de la forêt aléatoire. Dans cet exemple, environ un tiers des données ne sont pas utilisées pour former le modèle, mais pour le modèle d'évaluation du rendement. Ces échantillons sont désignés comme échantillons sac extérieur. Cette méthode de validation croisée et laisser un très similaire, mais presque aucune charge de calcul supplémentaire.
Afficher / télécharger un modèle situé dans un dépôt Git forestier au hasard:
https://github.com/the-learning-machine/ML-algorithms-python/blob/master/Classification/random_forests.ipynb
ressources:
https://www.kdnuggets.com/education/online.html
https://www.kdnuggets.com/software/index.html