PASCAL YIM / apprendreRégressions multiple et polynomiale

MODÈLES / 03 · EXERCICE

Calculer avec la pseudo-inverse

La pseudo-inverse généralise l’inverse aux matrices rectangulaires ou de rang insuffisant.

EXPLICATION DU CODE

np.linalg.pinv utilise une décomposition en valeurs singulières. θ = A⁺y donne une solution de moindres carrés ; s’il y a plusieurs solutions, elle choisit celle de norme minimale.

θ=A+y\theta=A^+\mathbf y

Une forte colinéarité peut rendre les coefficients instables même si les prédictions changent peu.

NumPy · pseudo-inverse ↗

Exemple expliqué

  1. 1
    A = np.column_stack([X.to_numpy(), np.ones(len(X))])

    Construction de la matrice augmentée, avec la constante en dernière colonne.

  2. 2
    theta = np.linalg.pinv(A) @ y.to_numpy()

    Résolution sans calculer explicitement (AᵀA)⁻¹. np.linalg.lstsq est une autre méthode adaptée.

  3. 3
    a = theta[:-1]
    b = theta[-1]
    y_hat = A @ theta

    a contient deux coefficients ; b est scalaire ; y_hat contient une prédiction par ligne.

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

Code à compléter

Construire A, calculer theta avec la pseudo-inverse, puis a, b et y_hat. Afficher les 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

Matrices, plans, pseudo-inverse et LinearRegression.

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 →