Varianza y desviación estándar
Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 3 de 64.
.std() es la distancia típica respecto a la media. Aquí se calcula a mano, para cinco extracciones de espresso:
Cada distancia respecto a la media es una desviación. Se cancelan y dan 0, así que elévalas al cuadrado y luego calcula su promedio: la varianza.
shots = np.array([24, 27, 25, 30, 24])
deviations = shots - shots.mean()
variance = (deviations ** 2).mean()
print(deviations)
print(variance, np.round(np.sqrt(variance), 2))Esto imprime:
[-2. 1. -1. 4. -2.]
5.2 2.28Su raíz cuadrada, la desviación estándar, convierte los segundos al cuadrado de nuevo en segundos: 2.28. np.var(a) y np.std(a) hacen cada uno esto en una sola llamada.
Una característica con una desviación estándar de 0 nunca cambia, así que no le aporta información al modelo.
Desafío
FácilEl control de calidad comprueba con qué uniformidad una máquina llena botellas de jugo. El código inicial lee seis volúmenes en ml e imprime lo que devuelve spread_by_hand(a), junto a np.std. Completa esa función para que devuelva:
- la varianza: la media de las desviaciones al cuadrado respecto a la media de
a, - la desviación estándar, su raíz cuadrada.
Para los volúmenes 1004, 996, 1011, 993, 1002 y 998:
Variance: 34.56 ml squared
Std: 5.88 ml
Same as np.std: TruePruébalo tú mismo
import numpy as np
values = []
for i in range(6):
values.append(int(input()))
volumes = np.array(values)
# Devuelve la varianza y la desviación estándar del arreglo a
def spread_by_hand(a):
# Escribe tu código aquí y luego devuelve los dos valores en lugar de 0, 0
return 0, 0
# No cambies las líneas siguientes
variance, std = spread_by_hand(volumes)
print(f"Variance: {np.round(variance, 2)} ml squared")
print(f"Std: {np.round(std, 2)} ml")
print("Same as np.std:", np.round(std, 2) == np.round(np.std(volumes), 2))
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Estadística para ML
1Centro y dispersión
Media y medianaPercentiles y cuartilesVarianza y desviación estándar¿Muestra o población?El valor más frecuenteRepaso: tiempos de entrega4Muestras y poblaciones
Población y muestraLas medias muestrales varíanLa distribución muestralMuestras más grandes, menos ruidoRepaso: Encuestar a un pueblo7Líneas de tendencia
ResiduosAjuste por mínimos cuadradosTrazar el ajustePredecir con una línea¿Qué tan bueno es el ajuste?Repaso: horas de práctica10Codificación de categorías
Categorías como númerosCodificación one-hotAgrupación de números en intervalosRepaso: anuncios de autos2Distribuciones
Histogramas de densidadFormas de los datosCurva normalRegla del 68-95-99,7Puntuaciones zRepaso: duración de la batería5Valores atípicos
Diagramas de cajaLa regla del RICLa regla del valor ZTratamiento de valores atípicosRepaso: fallos de los sensores3Probabilidad mediante simulación
La probabilidad como frecuenciaLa ley de los grandes númerosSuma de dadosValor esperadoProbabilidad condicionalRepaso: probabilidades del puesto de dados6Relaciones
Lectura de diagramas de dispersiónCorrelaciónMatriz de correlaciónMapas de calor de correlaciónCorrelación no es causalidadRepaso: helado y sol9Escalado de características
Por qué escalar las característicasEscalado mín-máxEstandarizaciónStandardScalerRepaso: compañeros de escaladaPractica por tu cuenta: Compilador de Python online