No tienes acceso a esta clase

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

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14 Días
11 Hrs
41 Min
20 Seg

Procesamiento para variables categóricas con Python

18/25
Recursos

Aportes 22

Preguntas 15

Ordenar por:

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

La decodificación de variables categóricas a numéricas implica que cada elemento del nuevo vector se interpreta como una nueva variable. Por tanto, aumenta la dimensión del dataset y el tiempo de procesamiento.

Procesamiento para variables categóricas con Python

¿Podemos tratar a las variables numéricas como categóricas? Claro que sí. Todo depende del contexto y del proyecto.

En el mundo de ciencia de datos, es muy común usar el modo ‘one-hot’, puesto que ‘dummy’ ni siquiera existe en las librerías de Python.

La desventaja del one-hot es que cada elemento de los vectores que resultan es como si fueran nuevas variables. Esto aumenta demasiado
la dimensionalidad de nuestro dataset y se vea afectado en el rendimiento.

Me pregunto si se podria utlizar una codificacion tipo Word Embeddings para variables categoricas.

catergoria Dummy One-hot
ingles [0,0] [1,0,0]
español [0,1] [0,1,0]
frances [1,0] [0,0,1]

Aquí pueden aprender un poquito mas de one hot

Información resumida de esta clase
#EstudiantesDePlatzi

  • Lo que buscamos es convertir estas variables categóricas en variables numéricas para poder trabajar nuestros modelos

  • También podemos tratar variables numéricas como categóricas

  • Con le encoding one hot la longitud del vector es igual a la cantidad de categorías que tengan mis datos, esto me ayuda para cuando tengo valores nulos

  • En Python hago esto con la función get_dummies de la librería panda

  • Puedo realizar la misma operación usando la librería sklearn.preprocessing

  • Cuando hago este mismo ejercicio ahora con variables numéricas se incrementan bastante los datos y se debe hacer una reducción de los mismos

Si uno cuenta con una variable categórica con muchos datos distintos (por ejemplo países del mundo) una alternativa en vez de convertirlas a one-hot es asignarles un valor descriptivo del problema en el que uno esté trabajando, como por ejemplo el PIB de esos países.

Esta super interesante.

Francisco felicitaciones, tiempos, conceptos, ejemplos y practica consistente.

Procesamiento para variables categóricas con Python

  • La codificación categórica es una técnica para codificar datos categóricos. Tenga en cuenta que los datos categóricos son los conjuntos de variables que contienen variables de etiqueta en lugar de valores numéricos. Muchos algoritmos de aprendizaje automático son incapaces de procesar variables categóricas. Por lo tanto, es importante codificar los datos en una forma adecuada para poder preprocesar estas variables. Como necesita ajustar y evaluar su modelo, debe codificar los datos categóricos y convertir todas las variables de entrada y salida en numéricas. De este modo, el modelo podrá comprender y extraer la información generando la salida deseada. Los datos categóricos varían en función del número de valores posibles.

Codificación de números enteros

  • En este primer paso, asignará el valor entero para cada valor de categoría. Por ejemplo, el azul es 1, el verde es 2 y el amarillo es 3. Puede invertir fácilmente este tipo de codificación. También puede referirse a la codificación de enteros como codificación de etiquetas. Para muchas variables, este paso es suficiente para procesar el modelo. Existe una relación natural ordenada entre los diferentes valores enteros. Se puede conectar la relación a través de un algoritmo de aprendizaje automático. Por ejemplo, si considera las variables ordinales como el lugar, las categorías ya están ordenadas. Por lo tanto, no es necesario encontrar la relación entre las variables. Así, la codificación de etiquetas sería suficiente.

Para las variables categóricas ordinales también se puede usar la función OrdinalEncoder de sklearn, aunque la codificación one hot, la mayoría de veces, también es valida en este tipo de variables

**¡Dato Interesante!** 📊 ¿Sabías que en Data Science, procesar **variables categóricas** es clave para que los modelos de Machine Learning funcionen correctamente? 😲 Estas variables, como el color de un coche o el tipo de producto, no pueden ser utilizadas directamente por los algoritmos. Por eso, usamos técnicas como **One-Hot Encoding** para transformarlas en números que los modelos sí entienden. ¡Python lo hace súper fácil con herramientas como `get_dummies()`! 🐍💻
Otra desventaja que miré en onehot en sklearn(ademas de que aumenta la capacida de nuestro ordenador por cada variable nueva) es que, si tengo muchas variables que quiero analizar debo de escribirlas yo mismo. pero no pasa lo mismo usando pandas miren esto: *#Procesamiento de datos* `categoricos.``cars = pd.read_csv("./files/cars.csv"`) *#usando pandas(aburrido)* cars\_type = `pd.get_dummies(cars["Make"])cars_type = cars_type.astype(int)df = pd.DataFrame(cars_type)df.head(10)` usando sklearn *#Procesamiento de datos categoricos*cars = pd.read\_csv("./files/cars.csv")*#Usando sklearn(excelente)*encoder = preprocessing.OneHotEncoder(handle\_unknown='ignore')encoder.fit(cars\[\["Make"]].values) *#Perfecto, al parecer usar esto crea una dimension addicional en nuestro dataset.*encoder.transform(\[\["BMW"],\["TESLA"],\["SMART"],\["NISSAN"],\["MITSUBISHI"],\["KIA"],\["FORD"],\["CHEVROLET"]]).toarray()*#La desventaja de este metodo es que si tenemos muchas variables, manualmente no da, toca crear un codigo para que en cada subdimension entonces se agrege la categoria.#Lo bueno es que podemos escribir las variables que querramos.*

Es interesante como se puede convertir valores categoricos a numericos con el proposito de entender la funcionalidad de estos y que no tengan algun problema al momento de trabajarlo.

"Es un One-hot, punto" jajajajaja me hizo el día!
para utilizar get dummies en pandas 2.1.1, la version mas actualizada se debe hacer: donde pd es la librerias pandas y devuelve un una matriz con tres columnas dependediendo del numero de categorias como lo es engine\_type que son 3 pd.get\_dummies(data=data\['engine\_type'])

En este video de DotCSV encuentro muy útil la forma gráfica de entender la usabilidad del one-hot, aplicado al NLP. Este tipo de visualizaciones cobran más sentido cuando igual estás familiarizado con el álgebra lineal 🫣

Es posible ver otra forma de hacer codificación. Esta se llama Label_encoder. La documentación queda adjunta

Buena clase.

encoder.transform([[2016],[2009],[190]]).toarray()