Escalado mín-máx
Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 48 de 64.
El escalado mín-máx da a cada característica la misma importancia: en cada columna, el valor más pequeño se convierte en 0, el más grande en 1 y los demás quedan entre ambos.
Añade a una persona de 40 años que gana $80,000 y después escala los cuatro:
La difusión lo hace en una sola línea, con el valor mínimo y el rango propios de cada columna:
X = np.array([[25, 52000],
[61, 53000],
[26, 55000],
[40, 80000]])
lows = X.min(axis=0)
highs = X.max(axis=0)
scaled = (X - lows) / (highs - lows)Ahora también cuenta la edad. El vecino más cercano del cliente 0 ya no es el de 61 años:
Un valor extremo se convierte en 1 y comprime el resto cerca de 0, por lo que la normalización min-max es adecuada para columnas sin valores atípicos.
Desafío
IntermedioUn tostador empareja cafés que se preparan de forma similar. Cada fila de beans es un café: temperatura del agua (C), tiempo de preparación (s) y cafeína (mg). El programa lee las posiciones i y j; la función inicial distance(a, b) mide la distancia entre dos muestras.
- Escala
beansusando min-max. - Imprime
Every column from 0 to 1:y, después, la tabla escalada con 2 decimales. - Imprime la distancia entre ellos antes y después del escalado, como se muestra a continuación.
Para otros tres cafés, las posiciones 0 y 1:
Every column from 0 to 1:
[[1. 1. 0.67]
[0.5 0.5 0. ]
[0. 0. 1. ]]
Coffees 0 and 1: 63.28 apart before scaling, 0.97 afterPruébalo tú mismo
import numpy as np
# Devuelve la distancia entre dos muestras (de Why Scale Features)
def distance(a, b):
return np.sqrt(((a - b) ** 2).sum())
# Una fila por café: temperatura del agua en C, tiempo de preparación en segundos, cafeína en mg
beans = np.array([[88, 120, 60],
[96, 300, 30],
[86, 90, 70],
[94, 240, 120],
[90, 180, 90],
[84, 60, 50]])
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