NUMPY / 17 · EXERCICE
* et @ : deux multiplications
* multiplie élément par élément ; @ calcule un produit matriciel. Cette distinction intervient directement dans les modèles linéaires.
Avec X de forme (3, 2) et w de forme (2,), X @ w produit un vecteur de forme (3,) : un résultat pour chaque ligne.
Exemple expliqué
- 1
import numpy as np X = np.arange(1, 7).reshape(3, 2) w = np.array([0.5, 1.0])Les lignes de X sont [1, 2], [3, 4] et [5, 6]. Deux coefficients correspondent aux deux colonnes.
- 2
element_par_element = X * wNumPy applique w à chaque ligne par broadcasting. Le résultat garde la forme (3, 2) ; les produits ne sont pas additionnés.
- 3
prediction = X @ w print(element_par_element.tolist()) print(prediction.tolist())Chaque ligne calcule x₀ × 0.5 + x₁ × 1.0, soit [2.5, 5.5, 8.5]. Pour deux vecteurs, u @ v ou np.dot(u, v) calcule leur produit scalaire.
Code à compléter
Calculer element_par_element = X * w et prediction = X @ w. Afficher les deux résultats avec .tolist() pour comparer leurs valeurs et leurs formes.
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.