PASCAL YIM / apprendreRégression linéaire et métriques

RÉGRESSION / 06 · EXERCICE

Une classe RegressionLineaire

La classe rassemble l’apprentissage et la prédiction. Chaque instance conserve ses propres paramètres.

EXPLICATION DU CODE

__init__ prépare les attributs. fit calcule self.a et self.b à partir des données reçues ; predict réutilise ces attributs. Les moyennes doivent être calculées dans fit, sans dépendre de variables d’un exercice précédent.

Exemple expliqué

  1. 1
    def __init__(self):
        self.a = None
        self.b = None

    Aucun paramètre appris avant fit.

  2. 2
    x_bar = np.mean(x)
    y_bar = np.mean(y)
    denom = np.sum((x-x_bar)**2)
    self.a = np.sum((x-x_bar)*(y-y_bar)) / denom
    self.b = y_bar - self.a*x_bar

    Calculs à reprendre dans fit. np.asarray accepte des listes et des tableaux ; un dénominateur nul doit être signalé.

  3. 3
    return self.a*np.asarray(x) + self.b

    Expression renvoyée par predict. self désigne l’instance courante.

  4. 4
    model = RegressionLineaire()
    model.fit(x, y)
    y_hat = model.predict(x)

    Instanciation, apprentissage, puis prédiction. return self à la fin de fit permet aussi de chaîner les appels.

Exemple de référence · La consultation conserve le crédit de l’exercice.
EXERCICE / PYTHON

Code à compléter

Écrire la classe avec __init__, fit et predict ; ajuster model sur CO₂, puis afficher ses coefficients et les premières prédictions.

Saisie autonome · crédit complet après réussite

Le résultat apparaîtra ici.
Session Python

Les variables restent disponibles entre les pages. Un rechargement efface les variables ; le code et l’utilisation de l’aide restent enregistrés dans cet onglet.

Parcours · chapitres

Droite, moindres carrés, classe Python et mesure des erreurs.

01 / Rappels de Python

02 / Classes et objets en Python

03 / Pandas et DataFrames

04 / Régression linéaire et métriques

05 / Régressions multiple et polynomiale

06 / Évaluer les modèles

07 / KNN et normalisation

Quiz de synthèse · 24 questions →Rejoindre une session →