Modèle de régression linéaire
Comment créer un modèle ultra-simple qui apprend la relation linéaire (équation)
y = 2x - 1avec scikit-learn ?
https://www.youtube.com/watch?v=E6oriD10N_U
Notions théoriques

Oubliez un instant le code classique et les frameworks de deep learning ;-)
Programmation traditionnelle
En programmation traditionnelle, vous écrivez des règles strictes : "SI l'objet est rond ET rouge, ALORS c'est une pomme".

Apprentissage automatique
L'intelligence artificielle, et plus précisément l'apprentissage automatique (Machine Learning), fonctionne à l'inverse.
Avec l'apprentissage automatique, au lieu de dicter les règles, vous montrez des exemples à la machine, et c'est elle qui trouve elle-même les motifs.
C'est la différence entre donner un mode d'emploi et faire un apprentissage par l'observation.

Exemple pratique
Voici comment nous allons créer nous-mêmes un modèle d'IA très simple avec scikit-learn.
Commencer par un modèle d'IA facile
C’est le problème le plus simple possible en apprentissage supervisé.
Avec ce petit modèle, on va aborder toutes les étapes clés de la création d’un modèle de machine learning :
- la préparation des données
- la définition du modèle
- l’entraînement (
fit)- la prédiction (
predict)- l’interprétation des paramètres appris (coefficient + intercept)
C’est l’équivalent du « Hello World » en machine learning classique.
Régression linéaire simple
L'objectif est de créer un modèle qui apprend la relation entre une variable d'entrée x et une variable de sortie y, selon la formule :
y = 2x - 1
Exemples :
- Si x = 3 → y = 5
- Si x = 7 → y = 13
- Si x = 10 → y = 19
- Si x = 8 → y = 15 (valeur jamais vue pendant l'entraînement)
| x | y attendu (2x - 1) |
|---|---|
| 3 | 5 |
| 7 | 13 |
| 10 | 19 |
| -2 | -5 |
| 0 | -1 |
| 15 | 29 |
Nous allons utiliser scikit-learn, la bibliothèque la plus populaire et la plus pédagogique pour le machine learning classique en Python.
Après entraînement, quand on donnera x = 8 au modèle, il devrait répondre ≈ 15 (exactement ou presque).
- La régression linéaire est la brique de base de très nombreux algorithmes.
- Un réseau de neurones profond n'est finalement qu'un empilement très sophistiqué de régressions linéaires (avec non-linéarités entre elles).
TP pour réfléchir et résoudre des problèmes
Nous allons créer un programme capable de faire de la régression linéaire simple avec scikit-learn.
Veuillez créer le fichier Python regression_sklearn.py et compléter les étapes ci-dessous.
0. Préparation de l'environnement
# Créer un environnement virtuel (recommandé)
python3.10 -m venv venv_sklearn
source venv_sklearn/bin/activate # macOS/Linux
# venv_sklearn\Scripts\activate # Windows
# Installer les packages
pip install numpy matplotlib scikit-learn
1. Importations Python nécessaires
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error