Comment implémenter la régression linéaire pour l'apprentissage automatique?



Cet article couvre le concept de régression linéaire pour l'apprentissage automatique avec différentes terminologies et un cas d'utilisation pour implémenter la régression linéaire.

L'objectif de tourne autour des variables d'entrée et de sortie à l'aide d'un algorithme pour prédire le résultat. Si une nouvelle variable d'entrée entre dans l'image. L'algorithme de régression linéaire dans est une technique d'apprentissage supervisé pour approximer la fonction de cartographie pour obtenir les meilleures prévisions. Dans cet article, nous allons découvrir la régression linéaire pour l'apprentissage automatique. Les sujets suivants sont abordés dans ce blog.

Qu'est-ce que la régression?

Le principal objectif de la régression est la construction d'un modèle efficace pour prédire les attributs dépendants à partir d'un ensemble de variables d'attributs. Un problème de régression survient lorsque la variable de sortie est une valeur réelle ou continue, c'est-à-dire salaire, poids, superficie, etc.





comment convertir un nombre en binaire en python

Nous pouvons également définir la régression comme un moyen statistique utilisé dans des applications comme le logement, l'investissement, etc. Il est utilisé pour prédire la relation entre une variable dépendante et un ensemble de variables indépendantes. Jetons un œil à différents types de techniques de régression.

exemple de régression linéaire en apprentissage automatique - edureka

Types de régression

Voici les types de régression.



  1. Régression linéaire simple
  2. Régression polynomiale
  3. Régression vectorielle de soutien
  4. Régression de l'arbre de décision
  5. Régression aléatoire des forêts

Régression linéaire simple

L'une des techniques de régression les plus intéressantes et les plus courantes est la régression linéaire simple. En cela, nous prédisons le résultat d'une variable dépendante basée sur les variables indépendantes, la relation entre les variables est linéaire. D'où le mot régression linéaire.

Régression polynomiale

Dans cette technique de régression, nous transformons les caractéristiques originales en caractéristiques polynomiales d'un degré donné, puis nous effectuons une régression sur celles-ci.

Régression vectorielle de soutien

Pour régression ou SVR, nous identifions un hyperplan avec une marge maximale telle que le nombre maximal de points de données se trouve dans ces marges. Il est assez similaire à l'algorithme de classification des machines vectorielles de support.



Régression de l'arbre de décision

À peut être utilisé à la fois pour la régression et . Dans le cas de la régression, nous utilisons l'algorithme ID3 (Iterative Dichotomiser 3) pour identifier le nœud de fractionnement en réduisant l'écart type.

Régression aléatoire des forêts

Dans la régression forestière aléatoire, nous regroupons les prédictions de plusieurs régressions d'arbres de décision. Maintenant que nous connaissons les différents types de régression, examinons en détail la régression linéaire simple.

Qu'est-ce que la régression linéaire?

La régression linéaire simple est une technique de régression dans laquelle la variable indépendante a une relation linéaire avec la variable dépendante. La ligne droite du diagramme est la meilleure ligne d'ajustement. Le but principal de la régression linéaire simple est de prendre en compte les points de données donnés et de tracer la meilleure ligne d'ajustement pour ajuster le modèle de la meilleure façon possible.

Avant de passer au fonctionnement de l'algorithme de régression linéaire, examinons quelques terminologies importantes de la régression linéaire simple.

Terminologies de régression linéaire

Il est important de se familiariser avec les terminologies suivantes avant de passer à l'algorithme de régression linéaire.

Fonction de coût

La meilleure ligne d'ajustement peut être basée sur l'équation linéaire donnée ci-dessous.

  • La variable dépendante à prédire est notée Y.
  • Une ligne qui touche l'axe y est désignée par l'interception b0.
  • bunest la pente de la droite, x représente les variables indépendantes qui déterminent la prédiction de Y.
  • L'erreur dans la prédiction résultante est notée e.

La fonction de coût fournit les meilleures valeurs possibles pour b0et Bunpour créer la meilleure ligne d'ajustement pour les points de données. Nous le faisons en convertissant ce problème en un problème de minimisation pour obtenir les meilleures valeurs pour b0et Bun. L'erreur est minimisée dans ce problème entre la valeur réelle et la valeur prédite.

Nous choisissons la fonction ci-dessus pour minimiser l'erreur. Nous quadrillons la différence d'erreur et additionnons l'erreur sur tous les points de données, la division entre le nombre total de points de données. Ensuite, la valeur produite fournit l'erreur quadratique moyenne sur tous les points de données.

Il est également connu sous le nom de MSE (Mean Squared Error), et nous modifions les valeurs de b0et Bunde sorte que la valeur MSE soit réglée au minimum.

Descente graduelle

La prochaine terminologie importante pour comprendre la régression linéaire est Descente graduelle. C'est une méthode de mise à jour b0et Bunvaleurs pour réduire le MSE. L'idée derrière cela est de continuer à itérer le b0et Bunvaleurs jusqu'à ce que nous réduisions le MSE au minimum.

Pour mettre à jour b0et Bun, nous prenons des gradients de la fonction de coût. Pour trouver ces gradients, on prend des dérivées partielles par rapport à b0et Bun. Ces dérivées partielles sont les gradients et sont utilisées pour mettre à jour les valeurs de b0et Bun.

Un taux d'apprentissage plus petit se rapproche du minimum, mais cela prend plus de temps et dans le cas d'un taux d'apprentissage plus élevé. Le temps pris est plus tôt mais il y a une chance de dépasser la valeur minimale. Maintenant que nous en avons terminé avec les terminologies de la régression linéaire, examinons quelques avantages et inconvénients de la régression linéaire pour l'apprentissage automatique.

Avantages et inconvénients

Avantages Désavantages
La régression linéaire fonctionne exceptionnellement bien pour les données séparables linéairementL'hypothèse de linéarité entre les variables dépendantes et indépendantes
Plus facile à mettre en œuvre, à interpréter et efficace à formerIl est souvent assez sujet au bruit et au sur-ajustement
Il gère assez bien le surajustement à l'aide de techniques de réduction dimensionnelle, de régularisation et de validation croiséeLa régression linéaire est assez sensible aux valeurs aberrantes
Un autre avantage est l'extrapolation au-delà d'un ensemble de données spécifiqueIl est sujet à la multicolinéarité

Cas d'utilisation de la régression linéaire

  • Prévisions des ventes

  • Analyse de risque

  • Demandes de logement pour prédire les prix et d'autres facteurs

    liste de tri c ++
  • Applications financières pour prédire les cours des actions, évaluation des investissements, etc.

L'idée de base de la régression linéaire est de trouver la relation entre les variables dépendantes et indépendantes. Il est utilisé pour obtenir la meilleure ligne d'ajustement qui prédirait le résultat avec le moins d'erreur. Nous pouvons utiliser la régression linéaire dans des situations simples de la vie réelle, comme la prédiction des scores SAT en fonction du nombre d'heures d'étude et d'autres facteurs décisifs.

Dans cet esprit, jetons un coup d'œil à un cas d'utilisation.

Cas d'utilisation - Implémentation de la régression linéaire

Le processus se déroule selon les étapes suivantes:

  1. Chargement des données
  2. Explorer les données
  3. Découper les données
  4. Former et diviser les données
  5. Générer le modèle
  6. Évaluer la précision

Entrons dans le détail de chacune des étapes de mise en œuvre de la régression linéaire.

1. Chargement des données

Nous pouvons commencer avec l'ensemble de données de base sur le diabète qui est déjà présent dans le module d'ensembles de données sklearn (scikit-learn) pour commencer notre voyage avec la régression linéaire.

depuis sklearn importer des ensembles de données maladie = datasets.load_diabetes () print (maladie)

Production:

2. Explorer les données

Une fois que nous avons terminé de charger les données, nous pouvons commencer à explorer en vérifiant simplement les étiquettes à l'aide du code suivant.

imprimer (maladie.keys ())

Production:

Le code ci-dessus donne toutes les étiquettes de l'ensemble de données, après cela, nous pouvons découper les données afin de pouvoir tracer la ligne à la fin. Nous allons également utiliser tous les points de données, pour l'instant, nous allons découper la colonne 2 à partir des données.

import numpy comme np maladie_X = maladie.data [:, np.newaxis, 2] impression (maladie_X)

Production:

Après cette étape, nous diviserons les données en train et ensemble de test.

3. Fractionnement des données

maladie_X_train = maladie_X [: - 30] maladie_X_test = maladie_X [-20:] maladie_Y_train = maladie.target [: - 30] maladie_Y_test = maladie.target [-20:]

La partie suivante consiste à générer le modèle, qui comprendra l'importation de linear_model depuis sklearn.

4. Génération du modèle

depuis sklearn import linear_model reg = linear_model.LinearRegression () reg.fit (maladie_X_train, maladie_Y_train) y_predict = reg.predict (maladie_X_test)

Pour évaluer la précision du modèle, nous utiliserons l'erreur quadratique moyenne du scikit-learn.

comment utiliser le fichier en java

5. Évaluation

precision = mean_squared_error (maladie_Y_test, y_predict,) print (précision) poids = reg.coef_ intercept = reg.intercept_ print (poids, interception)

Production:

Pour être plus clair sur l'apparence des points de données sur le graphique, traçons également les graphiques.

import matplotlib.pyplot comme plt plt.scatter (maladie_X_test, maladie_Y_test) plt.plot (maladie_X_test, y_predict) plt.show ()

Production:

Pour obtenir un modèle plus précis dans ce scénario, nous pouvons utiliser l'ensemble des données au lieu de la seule colonne 2. Cela donnerait une précision comme indiqué ci-dessous:

#make un peu de changement dans le code ci-dessus, et supprimez le code de traçage pour éviter les erreurs maladie_X = maladie.data

Production:

Cela nous amène à la fin de cet article où nous avons découvert la régression linéaire pour l'apprentissage automatique. J'espère que vous êtes clair avec tout ce qui a été partagé avec vous dans ce tutoriel.

Si vous avez trouvé cet article sur 'Régression linéaire pour l'apprentissage automatique' pertinent, consultez le une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier.

Si vous rencontrez des questions, n'hésitez pas à poser toutes vos questions dans la section commentaires de «Régression linéaire pour l'apprentissage automatique» et notre équipe se fera un plaisir de vous répondre.