No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Pipelines de procesamiento para variables categóricas

17/25
Recursos

Aportes 19

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Cuando se tiene variables categóricas se hace un mapeo numérico. Para eso hay 2 métodos, de manera que sean fácilmente interpretables en modelos de machine learning:

Dummy : es la representación más compacta que se puede tener de los datos. Es mejor usarla cuando los inputs son variables linealmente independientes (no tienen un grado de correlación significativo). Es decir, las cuando se sabe que las categorías son independientes entre sí.
One-hot : es más extenso. Permite incluir categorías que no estaban en el dataset inicialmente. De forma que si se filtra una categoría que no estaba incluida, igual se pueda representar numéricamente y no de error en el modelo (este modelo es más cool y es el que se usa).
Hay errores en la notación de Pandas y los tratan como que ambos modelos son lo mismo, pero en la realidad el Dummy no se usa. Aún así, en Pandas el método es .get_dummies().

Dato curioso:

La independencia lineal tiene un transfondo matematico.

Normalmente se ve mucho en temas de algebra lineal, ya que a partir de la independencia lineal se pueden construir tanto espacios vectoriales como multiples aplicaciones para ecuaciones diferenciales y de matemática en general.

Como una idea simple, se puede decir que una variable es linealmente independiente si no puede obtenerse a partir de otras variables. Es un poco más complejo…

Dato extra:
Los 3 ejes de un sistema de coordenadas cartesianas son linealmente independientes, X,Y,Z.
No puedes obtener X a partir de Y y Z, lo mismo para las otras 2.

Algo importante sobre el One-Hot:
One-hot encoding generally does not perform well if the categorical variable takes on a large number of values (i.e., you generally won’t use it for variables taking more than 15 different values).

Aquí puedes leer más

One Hot Encoding

En simples palabras lo que hace one-hot es poner todas nuestras categorias a la misma distancia. Como asi?

Asignar un numero entero a nuestras categorias, pero en caso de que no sean ordinales, esto no tendria sentido,

  • Gasolina = 1

  • Diesel = 2

  • Gas = 2

Aca estamos diciendo que, la relacion entre Gasolina y diesel es mas cercana que entre Gasolina y gas

One-Hot lo que hace es que nos pone a la misma distancia en el espacio todas las categoerias

  • Gasolina = [1, 0, 0]

  • Diesel = [0, 1 0]

  • Gas = [0, 0, 1 ]

Contexto de una variable categórica para machine learning:
En el contexto de los modelos de aprendizaje automático, una variable categórica es una variable que se utiliza como input o característica de entrada en el modelo y que puede tomar uno de varios valores discretos y no ordenables. Por ejemplo, en un modelo de clasificación para predecir el género de una persona a partir de su nombre, el género es una variable categórica.

En algunos algoritmos de aprendizaje automático como los árboles de decisión o las redes neuronales, las variables categóricas se deben codificar en variables numéricas antes de ser utilizadas como entrada del modelo. Una técnica común para hacer esto es utilizar la codificación one-hot, donde se crea una variable binaria para cada valor posible de la variable categórica. Esto permite que el algoritmo de aprendizaje automático pueda entender y trabajar con las variables categóricas.

Este link puede que te ayude a entender
https://www.youtube.com/watch?v=DAQhQFp-sCg

Información resumida de esta clase
#EstudiantesDePlatzi

  • Existen dos métodos para procesar variables categóricas: Dummy t One-Hot

  • La representación Dummy se usa para inputs linealmente independientes, linealmente independientes significa que no existe una correlación entre los datos

  • El mapeo One-Hot permite describir categorías no incluidas inicialmente

  • Debemos mapear numéricamente nuestras categorías

Variables Categóiricas

  • Para codificar las variables categóricas (nuestros algoritmos no las entienden) hacemos uso de una representación numéricapor medio de ceros y unos, esto para evitar que el algoritmo entienda que hay una relación gerárjica entre los datos.
    • Dummy: Es una representacion compacta, similar a la representación por números binarios.
    • OneHot: Crea una nueva columna para cada dato categórico diferente, además permite añadir una nueva categoría: [0,0,0…,0,0]

Nota

  • El uso de etos encoders aumenta la dimensionalidad del DataSet
  • sklearn no tiene un encoder Dymmy como tal; el método get_dummies es en realidad un oneHot encoder

Cuando se tiene variables categóricas se hace un mapeo numérico. Para eso hay 2 métodos, de manera que sean fácilmente interpretables en modelos de machine learning:

  • Dummy: es la representación más compacta que se puede tener de los datos. Es mejor usarla cuando los inputs son variables linealmente independientes (no tienen un grado de correlación significativo). Es decir, cuando se sabe que las categorías son independientes entre sí.

  • One-hot: es más extenso. Permite incluir categorías que no estaban en el dataset inicialmente. De forma que si se filtra una categoría que no estaba incluida, igual se pueda representar numéricamente y no de error en el modelo (este modelo es más cool y es el que se usa).

Hay errores en la notación de Pandas y los tratan como que ambos modelos son lo mismo, pero en la realidad el Dummy no se usa. Aún así, en Pandas el método es .get_dummies().

17. Pipelines de procesamiento para variables categóricas

Mapeos numéricos

Dummy

→ Representación compacta.

→ Mejor para inputs linealmente independientes.

One-hot

→ Permite describir categorías no incluidas inicialmente.

wow, no había entendido muy bien lo del mapeo Dummy y chat gpt lo explicó super bien

  • Hay dos formas diferentes de codificar variables categóricas. Digamos que una variable categórica tiene n valores. La codificación **** one-hot****
    lo convierte en n variables, mientras que la codificación ficticia lo convierte en n-1 variables. Si tenemos k variables categóricas, cada una de las cuales tiene n valores. Una codificación activa termina con variables kn , mientras que la codificación ficticia termina con variables kn-k .

  • Escuché que para la codificación one-hot, la intercepción puede generar un problema de colinealidad, lo que hace que el modelo no suene. Alguien lo llama " trampa de variable ficticia ".

🎓 **¿Sabías que los *pipelines* en Data Science son como una cadena de montaje para tus datos?** 🚀 Imagina que estás trabajando con datos que incluyen palabras como "rojo", "azul", o "verde". Antes de que un modelo de machine learning pueda entender estos datos, necesitamos convertirlos en algo que el modelo sí pueda usar: ¡números! 📊 Con un *pipeline*, puedes transformar automáticamente esos valores categóricos (como colores) en datos numéricos que tu modelo pueda procesar, todo en un solo paso. Esto no solo te ahorra tiempo, sino que también reduce errores. 💡 Por ejemplo, con técnicas como la codificación *one-hot*, cada color se convierte en una columna con un 1 o un 0. Es como traducir un idioma que la máquina pueda entender. 🌐 ¡Así que, si te interesa Data Science, dominar los *pipelines* es clave para trabajar de manera eficiente y precisa! 💻✨
One-hot encoding transforma las variables a forma binaria, representando los valor como 1 o 0. 0: Representa False, el valor de la variable no pertenece a la categoría 1: Es True o Hot, el valor de la variable pertenece a la categoría. Esto va a generar que nuestros datos tengan más columnas.

Es interesante el uso de las categorias y como estas pueden ser convertidas a valores numericos. Eso quiero verlo y aprender de eso.

Buena clase.

El modelo de regresión lineal de Scikit-learn permite a los usuarios desactivar la intercepción. Entonces, para la codificación one-hot, ¿debería establecer siempre fit_intercept=False? Para la codificación ficticia, fit_intercept siempre debe establecerse en True? No veo ninguna “advertencia” en el sitio web.