Victor Hugo Rondon Cordero
hay que tener cuidado por que no SIEMPRE deben normalizarse los datos, depende del contexto.
Juan Osorio
ProfesorGracias Victor! asi es!!
Daniel Rendon
Cuando si y cuando no? Gracias.
Cuando trabajas con datos deportivos como tiros al arco o porcentaje de posesión, escalar los datos con MinMaxScaler y StandardScaler evita que el modelo confunda magnitud con importancia. Aquí aprenderás cuándo normalizar, cuándo estandarizar y cómo aplicarlo en Python para que tus predicciones sean justas y precisas.
¿Por qué es importante escalar los datos antes de entrenar un modelo?
Imagina que tu delantero tuvo 12 tiros al arco y el equipo manejó el 55% de posesión. Sin escalado, el algoritmo verá el 12 como un número más pequeño que 55, aunque el 55% represente una variable porcentual y el 12 una cuenta absoluta. Esa diferencia de rangos sesga los pesos del modelo y genera predicciones inexactas.
Escalar nivela el terreno de juego. Todas las variables quedan en una escala comparable y el modelo puede aprender sin sesgos numéricos [00:51].
¿Qué significa escalar datos en machine learning? Es transformar variables con rangos distintos a una escala común para que ningún atributo domine al modelo solo por tener números más grandes.
¿Cuál es la diferencia entre MinMaxScaler y StandardScaler?
Ambas son técnicas de preprocesamiento, pero responden a necesidades distintas según la distribución de tus datos [01:32].
En el caso de Cebollitas FC, los tiros al arco local y visitante se normalizan porque siempre caen entre 3 y 15. La posesión, en cambio, se estandariza porque queremos centrarla sin importar el valor original [02:20].
¿Cómo aplicar MinMaxScaler en pandas?
El flujo en el notebook empieza importando las clases necesarias desde scikit-learn y cargando el dataset con pandas. Luego se crea una instancia del scaler:
python from sklearn.preprocessing import MinMaxScaler, StandardScaler import pandas as pd
scaler_norm = MinMaxScaler() df[['tiros_local_norm', 'tiros_visitante_norm']] = scaler_norm.fit_transform( df[['tiros_local', 'tiros_visitante']] )
La clave está en fit_transform, un atajo que combina dos pasos: fit calcula el mínimo y el máximo de cada columna, y transform aplica la fórmula a cada dato. Pasar ambas columnas juntas garantiza que el cálculo considere el conjunto completo de cada variable [03:38].
Al imprimir las primeras filas con head(6), verás los tiros originales junto a sus versiones normalizadas entre 0 y 1.
¿Cómo aplicar StandardScaler en pandas?
La lógica es la misma, pero con otra clase y otra fórmula matemática. Aquí fit calcula la media y la desviación estándar, y transform centra los datos en cero con varianza uno:
python scaler_std = StandardScaler() df[['posesion_local_std', 'posesion_visitante_std']] = scaler_std.fit_transform( df[['posesion_local', 'posesion_visitante']] )
Transformar ambas columnas de posesión en una sola operación asegura consistencia entre local y visitante [05:25].
¿Cuándo uso MinMaxScaler y cuándo StandardScaler? Usa MinMaxScaler si necesitas un rango acotado (0 a 1) y tus datos no son normales. Usa StandardScaler si tu algoritmo asume datos centrados o quieres preservar la forma de la distribución.
¿Cómo visualizar el resultado del escalado con histogramas?
Después del preprocesamiento, los histogramas confirman si los datos quedaron bien distribuidos. Un histograma parejo es como un campo listo antes del partido: tu trabajo es dejarlo en condiciones [02:55].
Para graficar dos histogramas lado a lado se usan Matplotlib y Seaborn:
python import matplotlib.pyplot as plt import seaborn as sns
fig, axes = plt.subplots(1, 2, figsize=(12, 4))
sns.histplot(df['tiros_local_norm'], ax=axes[0]) axes[0].set_title('Tiros al arco local normalizados')
sns.histplot(df['posesion_local_std'], ax=axes[1], color='orange') axes[1].set_title('Posesión local estandarizada')
plt.show()
La función plt.subplots crea dos ejes en una fila, uno para cada histograma. Con plt.show() se muestran ambos gráficos de forma simultánea y puedes comparar cómo se ven los datos normalizados frente a los estandarizados [06:20].
¿Qué ganaste al escalar las variables de tu dataset?
Igualaste las escalas con dos técnicas fundamentales: MinMaxScaling para llevar valores al rango 0 a 1 y StandardScaler para centrar en media cero con varianza uno. Con esto, ninguna variable domina al modelo solo por su magnitud y quedas listo para entrenar algoritmos más precisos y equitativos.
¿Qué inferencias sacas tú al comparar ambos histogramas? Cuéntame en los comentarios cómo se vieron tus distribuciones después de aplicar cada técnica.
Victor Hugo Rondon Cordero
hay que tener cuidado por que no SIEMPRE deben normalizarse los datos, depende del contexto.
Juan Osorio
ProfesorGracias Victor! asi es!!
Daniel Rendon
Cuando si y cuando no? Gracias.
Jonathan Mauricio Meza Bastidas
la forma correcta de instalar sklearn:
pip install scikit-learn
Juan Jose Tovar
Estandarización vs Normalización
Idealmente los modelos deberían ser entrenados probando las dos técnicas para los diferentes features. Sin embargo, si hay que escoger, esta sería la heurística:
Esteban Bastías B.
Lo primero que salta a la vista es que estamos ante un problema de distribución no normal en ambas variables, lo cual es crítico para elegir el modelo adecuado.
1. Tiros al arco local (Normalizado)
2. Posesión local (Estandarizado)
Nicolás Melgarejo
Es importante usar tanto la normalización (Min-Max Scaling) como la estandarización (Standard Scaler) porque cada técnica tiene un propósito específico. La normalización es útil cuando los datos no siguen una distribución normal y se quiere transformar los valores a un rango fijo, entre 0 y 1. Esto nivela el impacto de las variables.
Por otro lado, la estandarización centra los datos en torno a cero con desviación estándar uno, lo cual es ideal para mantener la distribución y es preferible en algoritmos que asumen que los datos están centrados, como regresiones. Usar ambos métodos te permite tratar diferentes tipos de variables de manera adecuada, mejorando la precisión del modelo.
Daniel Rendon
Ya investigue un poco y esto les puede servir:
Normalizado: Usarlo cuando los rangos/limites de la variable son usalmente fijos. (como lo es el % de posesion, siempre es entre 0-100) Estandarizacion: Usarlo cuando los rangos/limites de la variable en cuestion cambian a lo largo del dataset (como lo son la cantidad de goles)
Cuando combinar tecnicas? Cuando las variables donde se aplican estas tecnicas no son dependientes. Si ambas variables no tienen la suficiente correlacion, vale la pena combinar tecnicas.
Saludos.
Jhon Maldonado
La clase se centra en la importancia de escalar datos en machine learning utilizando dos técnicas principales: Min-Max Scaling y Standard Scaler. Se destaca que las variables con escalas diferentes pueden afectar las predicciones, ya que el modelo puede considerar más relevantes los números más grandes. Min-Max Scaling normaliza los datos a un rango de 0 a 1, ideal para datos no normalmente distribuidos, mientras que Standard Scaler estandariza los datos a una distribución con media 0 y desviación estándar 1, útil para algoritmos que asumen datos centrados. Se realizan demostraciones prácticas de ambas técnicas en un set de datos de un equipo de fútbol.
Jason Sepulveda
mis notebook con comentarios
Mario Alexander Vargas Celis
📏 ¿Por qué normalizar o estandarizar?
Porque:
🔄 Diferencia entre normalización y estandarización
TécnicaQué haceRango típicoNormalización (Min-Max)Escala los datos a un rango fijo, normalmente entre 0 y 1[0, 1] o [-1, 1]Estandarización (Z-score)Convierte los datos a una distribución con media = 0 y desviación estándar = 1Media = 0, Std = 1
⚽ Ejemplo en análisis deportivo
Supón que tienes:
JugadorGolesMinutosPases CompletosA5900300B2750250C71100500
👉 Estos valores están en escalas diferentes → necesitas escalarlos.
🧪 En Python con sklearn
🔹 Normalización (Min-Max Scaling)
from sklearn.preprocessing import MinMaxScaler import pandas as pd
# Datos simulados df = pd.DataFrame({ 'Goles': [5, 2, 7], 'Minutos': [900, 750, 1100], 'Pases': [300, 250, 500] })
scaler = MinMaxScaler() df_norm = pd.DataFrame(scaler.fit_transform(df), columns=df.columns)
print("Normalizados:\n", df_norm)
🔸 Estandarización (Z-score)
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler() df_std = pd.DataFrame(scaler.fit_transform(df), columns=df.columns)
print("Estandarizados:\n", df_std)
🧠 ¿Cuándo usar cada uno?
Si vas a usar...RecomendaciónKNN, SVM, Redes Neuronales, PCA✅ Escala tus datos (normalización o estandarización)Árboles de decisión, Random Forest❌ No es obligatorio escalarVisualización (radar, scatter...)✅ Normalizar para comparación clara
🎯 Conclusión
sklearn.preprocessing para escalar fácilmente.Gabriel Obregón
En general, las variables que deberían escalar son todas aquellas que se midan en diferentes unidades o tengan rangos numéricos muy distintos. Por ejemplo:
No escalar puede hacer que algunas variables dominen el aprendizaje del modelo solo por tener valores más altos, no por ser más importantes. Además, en modelos como SVM, PCA o k-NN, el escalado no es opcional, es esencial para obtener resultados válidos.
Muchas veces dedicar tiempo al preprocesamiento de los datos (como el escalado) marca la diferencia entre un modelo mediocre y uno robusto y preciso.
Keyner Corro Ruiz
me parece importante ver la diferencias de los datos originales y los normalizados como estandarizados, les comparto
David A. Vazquez Gonzalez
Comentario un poco en tono de broma, aquí el entrenador ya me hubiera corrido porque estaría estresado por no ganar y me diría... Tu análisis no me sirve de nada, no me digas algo que ya se!!!! (hay que saber vender y mostrar resultados)
Juan Acevedo
Acá se toca un tema importante que es el escalamiento y estandarización, Es muy importante entender el contexto para aplicar estas , por ejemplo si tenemos una distribución la cual es normal o casi casi normal (gaussian) entonces podemos aplicar una estandarización ya que este va conservar su estructura y solo va a ajustar el tamaño de la distribución de una manera mejor donde ya saben es media = 0 , std = 1 , Y el MinMax una técnica de escalamiento para convertir valores entre [0, 1] o [-1, 1] , para cuando no tenemos una distribución normal y sin outliers En esta clases las variables aplicadas con StandardScaling creería yo que no eran para estandarización sino para una MinMAx porque no siguen distribución normal, y no outliers
Astrid Clarissa Esparza Aponte
La técnica de Min-Max Scaler se aplica generalmente a cada característica o input de manera independiente, ya que se basa en el rango de datos de cada variable para normalizarlos. Esto asegura que todas las variables estén en la misma escala, lo que es crucial para que los modelos de machine learning no se vean sesgados por diferencias en magnitud. En el curso, se menciona que al escalar los datos, puedes evitar que una variable significativa sea ignorada por tener valores numéricamente más bajos. Es recomendable aplicar Min-Max Scaling a cada input según su contexto y rango específico.
Ing. Oscar Javier Quintero Salazar
No es clara la explicación. El docente asume muchos conceptos. Va por encima en la explicación. Las librerias no se entienden muy bien. No explica muy bien las gráficas.
KEVIN DAVID GARCIA VALDES
parece que se obvia esta parte, pero cuando abrimos un archivo nuevo, hay que volver a instalar en nuestro venv las librerias, por lo que hay que hacer:
pip install pandas
pio install StandardScaler pip install scikit-learn
PABLO LIZCANO GONZALEZ
¿Cuándo debo elegir la normalización Min Max?
Debes optar por MinMaxScaler cuando sabes exactamente los límites superior e inferior de tus datos y estos no siguen una distribución normal (la clásica forma de campana de Gauss). Piensa en esto como comprimir un resorte: tomas el valor más bajo y lo anclas en 0, luego tomas el valor más alto y lo fijas en 1. Todos los demás valores se distribuyen proporcionalmente en ese espacio. Es sumamente útil en métricas deportivas que tienen topes naturales, como la cantidad de tarjetas amarillas en un partido o los tiros de esquina. Al comprimir los datos en este rango estricto, evitas que los valores atípicos extremos distorsionen el aprendizaje, manteniendo intacta la relación proporcional entre cada uno de los registros de tu dataset.
Juan Diego Ussa Aponte
Viendo las graficas me parece que no aporta tanto infromacion al hacer el escalado/normalizado para estos casos. Si bien puede servir para el entrenamiento a la ahora de ahcer maching learning no creo que sirva a la ahora de nosotros ver graficamente los datos.
Diego Alejandro Lesmes
see es mas para ver la escala del rango en el que oscila