0% ont trouvé ce document utile (0 vote)
192 vues11 pages

Régression Linéaire Simple en Python

La régression linéaire simple est un modèle statistique qui prédit une variable dépendante en fonction d'une variable indépendante. Ce document présente une implémentation de la régression linéaire simple en Python, en utilisant un jeu de données sur les salaires et l'expérience des employés, et décrit les étapes de l'importation des bibliothèques, de l'analyse des données, de la formation du modèle et de la visualisation des résultats. Les résultats montrent une relation linéaire entre l'expérience et le salaire, confirmée par des graphiques de distribution et de régression.

Transféré par

Yassine Elhamdouni
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
192 vues11 pages

Régression Linéaire Simple en Python

La régression linéaire simple est un modèle statistique qui prédit une variable dépendante en fonction d'une variable indépendante. Ce document présente une implémentation de la régression linéaire simple en Python, en utilisant un jeu de données sur les salaires et l'expérience des employés, et décrit les étapes de l'importation des bibliothèques, de l'analyse des données, de la formation du modèle et de la visualisation des résultats. Les résultats montrent une relation linéaire entre l'expérience et le salaire, confirmée par des graphiques de distribution et de régression.

Transféré par

Yassine Elhamdouni
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

REALISE PAR:

 Anas Roukhmi
 Abdelkarime Rekbi
 Hamza Aouni
 Yasmine El Boukhari

ENCADRÉ PAR:
Pr. MOHAMED IGUERNANE
Qu'est-ce que la régression linéaire simple ?
En statistique, la régression linéaire simple est un modèle de
régression linéaire avec une seule variable explicative. Dans la
régression linéaire simple, nous prédisons les scores sur une variable
en fonction des résultats sur une autre. La variable critère Y est la
variable que nous prédisons. La variable prédictive X est la variable
avec laquelle nous faisons nos prédictions. L'approche de prédiction
est connue sous le nom de régression simple car il n'y a qu'une seule
variable prédictive.

En conséquence, une fonction linéaire qui prédit les valeurs de la


variable dépendante en fonction de la variable indépendante est
découverte pour des points d'échantillonnage bidimensionnels avec
une variable indépendante et une variable dépendante.

Le graphique ci-dessous explique la relation entre le salaire et les


années d'expérience.
Équation : y = mx + c
Ceci est l'équation de la régression linéaire simple où c est
la constante et m est la pente et décrit la relation entre x (variable
indépendante) et y (variable dépendante). Le coefficient peut être
positif ou négatif et représente le degré de changement dans la
variable dépendante pour chaque unité de changement dans la
variable indépendante.

β0 (ordonnée à l'origine) et β1 (pente) sont les coefficients dont les


valeurs représentent la précision des valeurs prédites par rapport aux
valeurs réelles.

Implémentez la régression linéaire simple en


Python
Dans cet exemple, nous utiliserons les données salariales
concernant l'expérience des employés. Dans ce jeu de données, nous
avons deux colonnesAnnées d'expérience et Salaire
Étape 1 : Importez les packages Python
requis
Nous avons besoin de Pandas pour la manipulation des données,
de NumPy pour les calculs mathématiques, et de MatplotLib et
Seaborn pour les [Link] bibliothèques Sklearn sont
utilisées pour les opérations d'apprentissage automatique.

# Import libraries
import pandas as pd
import numpy as np
import [Link] as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from [Link] import random_state
from sklearn.linear_model import LinearRegression

Étape 2 : Charger le jeu de données


Téléchargez le jeu de données, téléchargez-le dans votre carnet de
notes et lisez-le dans le dataframe pandas.

# Get dataset
df_sal = pd.read_csv('/content/Salary_Data.csv')
df_sal.head()
Étape 3 : Analyse des données
Maintenant que nous avons nos données prêtes, analysons et
comprenons leur tendance en détail. Pour ce faire, nous pouvons
d'abord décrire les données ci-dessous -

# Describe data
df_sal.describe()
Ici, nous pouvons voir que les salaires varient de 37731 à 122391
avec une médiane de 65237.

Nous pouvons également visualiser la distribution des données en


utilisant Seaborn distplot.

# Data distribution
[Link]('Salary Distribution Plot')
[Link](df_sal['Salary'])
[Link]()

Un distplot ou graphique de distribution montre la variation dans la


distribution des données. Il représente les données en combinant une
ligne avec un histogramme.
Ensuite, nous vérifions la relation entre le Salaire et l'Expérience –

# Relationship between Salary and Experience


[Link](df_sal['YearsExperience'], df_sal['Salary'], color = 'lightcoral')
[Link]('Salary vs Experience')
[Link]('Years of Experience')
[Link]('Salary')
[Link](False)
[Link]()

Il est maintenant clairement visible que nos données varient de


manière linéaire. Cela signifie qu'un individu reçoit un salaire plus
élevé à mesure qu'il acquiert de l'expérience.
Étape 4 : Diviser le jeu de données en
variables dépendantes/indépendantes
L'expérience (X) est la variable indépendante. Le salaire (y) dépend
de l'expérience.

# Splitting variables
X = df_sal.iloc[:, :1] # independent
y = df_sal.iloc[:, 1:] # dependent

Étape 4 : Diviser les données en ensembles


d'entraînement/test
De plus, divisez vos données en ensembles d'entraînement (80%)
et de test (20%) en utilisant train_test_split.

# Splitting dataset into test/train


X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2,
random_state = 0)

Étape 5 : Entraîner le modèle de régression


Passez les données X_train et y_train dans le modèle de
régression par [Link] pour entraîner le modèle avec nos
données d'entraînement.

# Regressor model
regressor = LinearRegression()
[Link](X_train, y_train)
Étape 6 : Prédire le résultat
Voici la partie intéressante, lorsque nous sommes tous prêts à
prédire n'importe quelle valeur de y (salaire) en fonction de X
(expérience) avec le modèle formé à l'aide de [Link]

# Prediction result
y_pred_test = [Link](X_test) # predicted value of y_test
y_pred_train = [Link](X_train) # predicted value of y_train

Étape 7 : Tracer les résultats d'entraînement


et de test
Il est temps de tester nos résultats prédits en traçant des
graphiques.

 Tracer les données de l'ensemble d'entraînement par


rapport aux prédictions Tout d'abord, nous traçons le résultat
des ensembles d'entraînement (X_train, y_train) avec X_train et
la valeur prédite de y_train ([Link](X_train)).

[Link](X_train, y_train, color = 'lightcoral')


[Link](X_train, y_pred_train, color = 'firebrick')
[Link]('Salary vs Experience (Training Set)')
[Link]('Years of Experience')
[Link]('Salary')
[Link](['X_train/Pred(y_test)', 'X_train/y_train'], title = 'Sal/Exp', loc='best',
facecolor='white')
[Link](False)
[Link]()
 Tracer les données du jeu de test par rapport aux
prédictions Deuxièmement, nous traçons le résultat des
ensembles de test (X_test, y_test) avec X_train et la valeur
prédite de y_train ([Link](X_train)).
# Prediction on test set
[Link](X_test, y_test, color = 'lightcoral')
[Link](X_train, y_pred_train, color = 'firebrick')
[Link]('Salary vs Experience (Test Set)')
[Link]('Years of Experience')
[Link]('Salary')
[Link](['X_train/Pred(y_test)', 'X_train/y_train'], title = 'Sal/Exp', loc='best',
facecolor='white')
[Link](False)
[Link]()
Nous pouvons voir, dans les deux graphiques, que la ligne de
régression couvre les données d'entraînement et de test.

De plus, vous pouvez tracer les résultats avec la valeur prédite de


y_test ([Link](X_test)), mais la ligne de régression resterait
la même car elle est générée à partir de l'unique équation de
régression linéaire avec les mêmes données d'entraînement.

Si vous vous souvenez du début de cet article, nous avons discuté


de l'équation linéaire y = mx + c, nous pouvons également obtenir
le c (ordonnée à l'origine) et m (pente/coefficient) à partir du modèle
de régression.

# Regressor coefficients and intercept


print(f'Coefficient: {regressor.coef_}')
print(f'Intercept: {regressor.intercept_}')

Vous aimerez peut-être aussi