Broadcasting
Fa parte della sezione Dati e grafici del percorso Machine Learning di Coddy. Lezione 13 di 60.
I modelli apprendono meglio quando ogni caratteristica è vicina a 0. Quindi sottrai la media di ogni colonna dai valori della colonna e NumPy copia le medie in tutte le righe:
Nel codice, per le altezze e i pesi di tre persone:
data = np.array([[170, 60],
[180, 80],
[160, 70]])
print(data - data.mean(axis=0))Questo stampa:
[[ 0. -10.]
[ 10. 10.]
[-10. 0.]]Quella copia è trasmissione. La tabella ora è centrata: ogni valore indica quanto dista dalla media della propria colonna.
Le medie hanno forma (2,): un valore per ogni colonna della tabella (3, 2). Qualsiasi altra lunghezza causa un errore.
Sfida
FacileUn'app per il fitness centra ogni tabella prima dell'allenamento. Il codice iniziale chiama center su due tabelle, users (3 caratteristiche) e workouts (2), e stampa i risultati. Al momento center restituisce la tabella invariata.
Completa center in modo che sottragga la media di ogni colonna da quella colonna, per qualsiasi numero di colonne. Lascia invariate le righe sottostanti.
Con due utenti e due allenamenti, l'output sarebbe simile a questo:
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.]Provalo tu
import numpy as np
def center(table):
# Devuelve table con la media de cada columna restada
# Escribe tu código a continuación
return table
# Una fila por usuario: edad, frecuencia cardíaca en reposo, minutos de ejercicio al día
users = np.array([[25, 62, 30],
[31, 70, 45],
[40, 58, 20],
[29, 66, 25]])
# Una fila por entrenamiento: minutos, calorías quemadas
workouts = np.array([[30, 240],
[45, 410],
[20, 150],
[60, 520],
[35, 300]])
# No cambies las líneas siguientes
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))
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Dati e grafici
4Modellare i dati
Rimodellare gli arrayUnire gli arrayNumeri casualiRipasso: simulazione del lancio dei dadi2Array NumPy
Creazione di arrayForma e dimensioneIntervalli di numeriIndicizzazione e slicingRiepilogo: griglia delle temperature5Grafici a linee e a dispersione
Etichette e titoliGrafici a dispersionePiù linee e legendeColori e marcatoriFigure e assiRiepilogo: passi settimanali8Filtraggio e ordinamento
Selezionare le righeFiltrare le righeOrdinare i valoriNuove colonneRiepilogo: i prodotti migliori3Matematica con gli array
Operazioni matematiche su interi arrayStatistiche riassuntiveStatistiche per asseBroadcastingMaschere booleaneRiepilogo: voti d'esame6Grafici per i dati
Grafici a barreIstogrammiPiù grafici in unoImmagini come arrayRiepilogo: rapporto sulle precipitazioniEsercitati da solo: Compilatore Python online