Diffusion
Fait partie de la section Données et visualisations du Journey Machine Learning de Coddy. Leçon 13 sur 60.
Les modèles apprennent mieux lorsque chaque caractéristique se situe autour de 0. Vous soustrayez donc la moyenne de chaque colonne à toutes les valeurs de cette colonne, et NumPy recopie les moyennes sur chaque ligne :
En code, pour les tailles et les poids de trois personnes :
data = np.array([[170, 60],
[180, 80],
[160, 70]])
print(data - data.mean(axis=0))Cela affiche :
[[ 0. -10.]
[ 10. 10.]
[-10. 0.]]Cette copie est la diffusion. Le tableau est maintenant centré : chaque valeur indique à quelle distance elle se trouve de la moyenne de sa colonne.
Les moyennes ont la forme (2,) : une valeur par colonne du tableau (3, 2). Toute autre longueur provoque une erreur.
Défi
FacileUne application de fitness centre chaque tableau avant l’entraînement. Le code de départ appelle center sur deux tableaux, users (3 caractéristiques) et workouts (2), puis affiche les résultats. Pour l’instant, center renvoie le tableau sans le modifier.
Complète center pour qu’elle soustraie la moyenne de chaque colonne à cette colonne, quel que soit le nombre de colonnes. Laisse les lignes qui suivent telles quelles.
Avec deux utilisateurs et deux entraînements, le résultat ressemblerait à ceci :
Centered users:
[[-6. 7. -5.]
[ 6. -7. 5.]]
Column means after centering: [0. 0. 0.]
Centered workouts:
[[-10. -90.]
[ 10. 90.]]
Column means after centering: [0. 0.]Essayez vous-même
import numpy as np
def center(table):
# Renvoie table après avoir soustrait la moyenne de chaque colonne
# Écrivez votre code ci-dessous
return table
# Une ligne par utilisateur : âge, fréquence cardiaque au repos, minutes d’exercice par jour
users = np.array([[25, 62, 30],
[31, 70, 45],
[40, 58, 20],
[29, 66, 25]])
# Une ligne par séance d’entraînement : durée en minutes, calories brûlées
workouts = np.array([[30, 240],
[45, 410],
[20, 150],
[60, 520],
[35, 300]])
# Ne modifiez pas les lignes ci-dessous
print("Centered users:")
print(center(users))
print("Column means after centering:", np.round(center(users).mean(axis=0), 2))
print("Centered workouts:")
print(center(workouts))
print("Column means after centering:", np.round(center(workouts).mean(axis=0), 2))
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Données et visualisations
1Introduction
Bonjour, Machine LearningQu’est-ce qu’un modèle ?Importer des bibliothèquesVotre premier graphique4Façonner les données
Remodeler les tableauxJoindre des tableauxNombres aléatoiresRécapitulatif : simulation de dés2Tableaux NumPy
Créer des tableauxForme et taillePlages de nombresIndexation et découpageRécapitulatif : grille de températures5Graphiques en courbes et nuages de points
Étiquettes et titresNuages de pointsPlusieurs courbes et légendesCouleurs et marqueursFigures et axesRécapitulatif : pas hebdomadaires3Calculs sur les tableaux
Opérations mathématiques sur des tableaux entiersStatistiques récapitulativesStatistiques par axeDiffusionMasques booléensRécapitulatif : notes d’examen6Graphiques de données
Diagrammes en barresHistogrammesPlusieurs graphiques en unImages sous forme de tableauxRécapitulatif : rapport sur les précipitationsEntraînez-vous par vous-même : Compilateur Python en ligne