Por qué escalar las características
Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 47 de 64.
¿Qué cliente se parece más a uno nuevo? Muchos modelos miden la distancia entre muestras: elevan al cuadrado la diferencia de cada característica, las suman y calculan la raíz cuadrada.
Una persona de 25 años que gana $52,000 frente a una de 61 años que gana $53,000:
Para una tabla completa, axis=1 suma los cuadrados de cada fila y .argmin() encuentra la fila más cercana:
a = np.array([25, 52000]) # edad, ingresos
X = np.array([[61, 53000], # la persona de 61 años
[26, 55000]]) # una persona de 26 años que gana $55,000
dists = np.sqrt(((X - a) ** 2).sum(axis=1))
print(np.round(dists, 2))
print(dists.argmin())Esto imprime:
[1000.65 3000. ]
0La persona de 61 años es la más cercana: las cantidades en dólares son mayores, así que $1,000 supera a 36 años. Sin escalar, las unidades más grandes son las que deciden.
Este capítulo da a cada característica la debida consideración.
Desafío
IntermedioUna tienda compara lavadoras por precio ($), energía (kWh al año) y agua (litros por lavado), indicados en features. El programa lee las posiciones de dos máquinas, i y j. Imprime:
Squared gaps:la diferencia de cada característica, elevada al cuadrado.Distance:redondeada a 2 decimales.Dominant feature:el nombre de la característica con la mayor diferencia al cuadrado.
Para otras dos máquinas:
Squared gaps: [2500 6400 1]
Distance: 94.35
Dominant feature: energyPruébalo tú mismo
import numpy as np
features = ["price", "energy", "water"]
# Una fila por lavadora: precio en dólares, energía en kWh por año, agua en litros por lavado
machines = np.array([[499, 160, 48],
[349, 210, 55],
[899, 120, 42],
[529, 250, 50],
[279, 230, 60],
[749, 140, 45]])
i = int(input())
j = int(input())
# Escribe tu código a continuación
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