Exemples Python de principes d'algorithmes de forêt aléatoire et d'applications pratiques (avec code complet)

王林
Libérer: 2024-01-23 18:09:06
avant
1104 Les gens l'ont consulté

L'algorithme Random Forest est une technique d'ensemble capable d'effectuer des tâches de régression et de classification en utilisant plusieurs arbres de décision et une technique appelée Bootstrap et agrégation. L’idée de base est de combiner plusieurs arbres de décision pour déterminer le résultat final, plutôt que de s’appuyer sur un seul arbre de décision.

Forêt aléatoire dans l'apprentissage automatique

La forêt aléatoire produit un grand nombre d'arbres de classification. Placez le vecteur d'entrée sous chaque arbre de la forêt pour classer les nouveaux objets en fonction du vecteur d'entrée. Chaque arbre se voit attribuer une classe, que nous pouvons appeler un « vote », et la classe ayant obtenu le plus grand nombre de votes est finalement choisie.

Les étapes suivantes nous aideront à comprendre le fonctionnement de l'algorithme de forêt aléatoire.

Étape 1 : Sélectionnez d'abord un échantillon aléatoire dans l'ensemble de données.

Étape 2 : Pour chaque échantillon, l'algorithme créera un arbre de décision. Les résultats de prédiction pour chaque arbre de décision seront ensuite obtenus.

Étape 3 : Chaque résultat attendu dans cette étape sera voté.

Étape 4 : Enfin, sélectionnez le résultat de la prédiction avec le plus de votes comme résultat de la prédiction finale.

La méthode de la forêt aléatoire présente les avantages suivants

  • En faisant la moyenne ou en intégrant les résultats de différents arbres de décision, elle résout le problème du surajustement.
  • Les forêts aléatoires fonctionnent mieux qu'un seul arbre de décision pour un large éventail d'éléments de données.
  • L'algorithme de forêt aléatoire maintient une grande précision même lorsqu'il manque de grandes quantités de données.

Caractéristiques de Random Forest

Voici les principales caractéristiques de l'algorithme Random Forest :

  1. est l'algorithme le plus précis actuellement disponible.
  2. Convient aux énormes bases de données.
  3. Peut gérer des dizaines de milliers de variables d'entrée sans en supprimer aucune.
  4. Au fur et à mesure que la forêt se développe, elle génère une estimation interne impartiale de l'erreur de généralisation.
  5. Maintient sa précision même en cas de perte massive de données.
  6. Il comprend des méthodes permettant d'équilibrer les inexactitudes d'ensembles de données inégaux dans des quasi-populations.
  7. La forêt créée peut être enregistrée et utilisée pour d'autres données à l'avenir.
  8. Créez des prototypes pour montrer les relations entre les variables et les catégories.
  9. Il calcule la distance entre les paires d'exemples, ce qui est utile pour le regroupement, la détection des valeurs aberrantes ou la fourniture d'une vue attrayante des données (à l'échelle).
  10. Les données non étiquetées peuvent être utilisées pour créer un clustering non supervisé, une visualisation des données et une identification des valeurs aberrantes à l'aide des fonctionnalités ci-dessus.

La forêt aléatoire a plusieurs arbres de décision comme modèle d'apprentissage de base. Nous effectuons de manière aléatoire un échantillonnage de lignes et un échantillonnage de caractéristiques à partir de l'ensemble de données pour former un échantillon d'ensemble de données pour chaque modèle. Cette partie s'appelle le bootstrap.

Comment utiliser la technique de régression forestière aléatoire

  1. Concevez une question ou des données spécifiques et obtenez la source pour déterminer les données requises.
  2. Assurez-vous que les données sont dans un format accessible, sinon convertissez-les au format requis.
  3. Spécifiez toutes les anomalies évidentes et les points de données manquants qui pourraient être nécessaires pour obtenir les données requises.
  4. Créez des modèles d'apprentissage automatique.
  5. Définissez le modèle de base que vous souhaitez mettre en œuvre
  6. Formez le modèle d'apprentissage automatique des données.
  7. Utilisez les données de test pour fournir des informations sur votre modèle
  8. Comparez désormais les mesures de performances sur les données de test et les données prédites du modèle.
  9. Si cela ne vous satisfait pas, vous pouvez essayer d'améliorer le modèle en conséquence ou utiliser d'autres techniques de modélisation de données.
  10. Dans cette étape, les données obtenues sont interprétées et rapportées en conséquence.

Implémentation Python du processus d'algorithme de forêt aléatoire

Étape 1 : Importez les bibliothèques requises.

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
Copier après la connexion

Étape 2 : Importez et imprimez l'ensemble de données

ata=pd.read_csv('Salaries.csv')
print(data)
Copier après la connexion

Étape 3 : Sélectionnez toutes les lignes et la colonne 1 de l'ensemble de données vers x, sélectionnez toutes les lignes et la colonne 2 comme y

x=df.iloc[: ,:-1] #": signifie qu'il sélectionnera toutes les lignes, ":-1" signifie qu'il ignorera la dernière colonne

y=df.iloc[:,-1:]#": signifie qu'il sélectionnera toutes les lignes, "- 1:" signifie qu'il ignorera toutes les colonnes sauf la dernière colonne

#La fonction "iloc()" nous permet de sélectionner des cellules spécifiques de l'ensemble de données, c'est-à-dire qu'elle nous aide à sélectionner les cellules spécifiques de l'ensemble de données à partir du bloc de données ou un ensemble de données Sélectionne la valeur appartenant à une ligne ou une colonne spécifique parmi un ensemble de valeurs.

Étape 4 : Ajuster un régresseur forestier aléatoire à l'ensemble de données

from sklearn.ensemble import RandomForestRegressor
regressor=RandomForestRegressor(n_estimators=100,random_state=0)
regressor.fit(x,y)
Copier après la connexion

Étape 5 : Prédire de nouveaux résultats

Y_pred=regressor.predict(np.array([6.5]).reshape(1,1))
Copier après la connexion

Étape 6 : Visualiser les résultats

随机森林算法原理 随机森林python实例流程(附完整代码)

X_grid=np.arrange(min(x),max(x),0.01)
X_grid=X_grid.reshape((len(X_grid),1))
plt.scatter(x,y,color='blue')
plt.plot(X_grid,regressor.predict(X_grid),
color='green')
plt.title('Random Forest Regression')
plt.xlabel('Position level')
plt.ylabel('Salary')
plt.show()
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:163.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal