Broadcasting
Parte da seção Dados e gráficos do Journey de Machine Learning da Coddy. Lição 13 de 60.
Os modelos aprendem melhor quando cada característica fica em torno de 0. Então, você subtrai a média de cada coluna dos valores dessa coluna, e o NumPy copia as médias para todas as linhas:
No código, para as alturas e os pesos de três pessoas:
data = np.array([[170, 60],
[180, 80],
[160, 70]])
print(data - data.mean(axis=0))Isso imprime:
[[ 0. -10.]
[ 10. 10.]
[-10. 0.]]Essa cópia é transmissão. A tabela agora está centralizada: cada valor indica a distância em relação à média da sua coluna.
As médias têm formato (2,): um valor por coluna da tabela (3, 2). Qualquer outro comprimento interrompe a execução com um erro.
Desafio
FácilUm aplicativo de fitness centraliza cada tabela antes do treino. O código inicial chama center em duas tabelas, users (3 características) e workouts (2), e imprime os resultados. No momento, center retorna a tabela sem alterações.
Complete center para que subtraia a média de cada coluna dessa coluna, independentemente do número de colunas. Mantenha as linhas abaixo dela como estão.
Com dois usuários e dois treinos, a saída ficaria assim:
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.]Experimente você mesmo
import numpy as np
def center(table):
# Retorne table com a média de cada coluna subtraída
# Escreva seu código abaixo
return table
# Uma linha por usuário: idade, frequência cardíaca em repouso, minutos de exercício por dia
users = np.array([[25, 62, 30],
[31, 70, 45],
[40, 58, 20],
[29, 66, 25]])
# Uma linha por treino: minutos, calorias queimadas
workouts = np.array([[30, 240],
[45, 410],
[20, 150],
[60, 520],
[35, 300]])
# Não altere as linhas abaixo
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))
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Dados e gráficos
2Arrays do NumPy
Criando arraysForma e tamanhoIntervalos de númerosIndexação e fatiamentoRevisão: grade de temperaturas5Gráficos de Linhas e Dispersão
Rótulos e TítulosGráficos de DispersãoVárias Linhas e LegendasCores e MarcadoresFiguras e EixosRevisão: Passos Semanais3Matemática com Arrays
Operações matemáticas em arrays inteirosEstatísticas resumidasEstatísticas por eixoBroadcastingMáscaras booleanasRevisão: notas das provas6Gráficos para Dados
Gráficos de barrasHistogramasVários gráficos em um sóImagens como arraysRevisão: Relatório de chuvasPratique por conta própria: Compilador de Python online