Codificador de etiquetas frente a un codificador activo en aprendizaje automático [2022]

Publicado: 2021-01-04

Los modelos de aprendizaje automático implementados en numerosas aplicaciones a menudo requieren una serie de conversiones de datos categóricos o focos de texto a la descripción numérica. Para cumplir con las necesidades de conversión, se utilizan dos tipos de codificadores, a saber , codificadores de etiquetas y un codificador en caliente .

La parte complicada es cuándo elegir un codificador de etiquetas y cuándo elegir un codificador activo . La elección de la decisión afecta el modelo y también forma los conceptos básicos de muchas preguntas que generalmente se hacen a los científicos de datos y entusiastas del aprendizaje automático.

La elección de la codificación afecta vívidamente el cociente de precisión del modelo y, por lo tanto, puede conducir a una solución optimizada. Para comprender la diferencia que hará en los modelos, debemos comprender los codificadores de etiquetas y un codificador activo .

A través de un gráfico de conocimiento en Inteligencia Artificial y Aprendizaje Automático, un aspecto que la mayoría de nosotros reconocería es que la mayoría de los algoritmos funcionan razonablemente con entradas numéricas. En consecuencia, el desafío central al que se enfrenta un analista es transformar los datos de texto en datos numéricos y, sin embargo, hacer que un modelo formule un punto a partir de ellos.

Tabla de contenido

Codificador de etiquetas

Label Encoding cita la transfiguración de las etiquetas en la forma numérica para cambiarla a una forma que pueda ser leída por la máquina. A partir de entonces, los algoritmos de aprendizaje automático pueden determinar de manera correcta cómo se deben gestionar estas etiquetas. Es una medida de preprocesamiento crucial durante el conjunto de datos integrado en el aprendizaje supervisado.

Por ejemplo, tenemos un conjunto de datos que tiene una comparación de cierta calidad en una determinada habilidad en forma de comparación superlativa entre hermanos. El conjunto de datos es bueno, mejor, mejor. Después de aplicar un codificador de etiquetas, cada calidad recibirá una etiqueta 0,1,2 respectivamente. La etiqueta de buena calidad es 0, la de mejor es 1 y la de mejor calidad es 2.

El ejemplo mencionado anteriormente era básico en términos del conjunto de datos. La conversión puede ser de cualquier conjunto de datos, ya sea de altura, edad, color de ojos, tipo de iris, síntomas, etc.

La codificación de etiquetas en Python se puede implementar utilizando la biblioteca Sklearn. Sklearn proporciona un método muy efectivo para codificar las categorías de características categóricas en valores numéricos. El codificador de etiquetas codifica etiquetas con crédito entre 0 y n-1 clases, donde n es el número de etiquetas diversas. Si una etiqueta lo reitera, señala el mérito exacto de lo señalado anteriormente.

Y para renovar este tipo de datos de texto categóricos en datos que puedan ser entendidos por los datos numéricos del modelo, usamos la clase Label Encoder. Necesitamos etiquetar codificar la columna inicial, importar la clase LabelEncoder de la biblioteca sklearn, equipar y renovar la sección inicial de los datos y luego rehabilitar los datos de texto existentes con los datos codificados nuevos.

Esta es una breve descripción de la codificación de etiquetas. Dependiendo de los datos, la codificación de etiquetas inicia un nuevo dilema. Por ejemplo, hemos codificado un montón de nombres de reinos en datos numéricos. Estos son datos completamente categóricos y no hay asociación, de ninguna manera, entre las filas.

Para resolver este obstáculo existe la necesidad de adoptar una nueva técnica de codificación. El dilema aquí es que, dado que hay varias cantidades en una sección similar, el prototipo juzgará erróneamente que los datos están en el mismo orden, 0 < 1 < 2. Pero este no es el problema en absoluto. Para mitigar esta dificultad, empleamos un codificador caliente.

Debe leer: Ideas de proyectos de aprendizaje automático

Un codificador caliente

One-Hot Encoding es otro protocolo destacado para tratar con variables categóricas. Únicamente establece las siguientes características establecidas sobre el volumen de valores distintos en el rasgo categórico. Los valores distintos completos en la clasificación se ampliarán como un esquema. Una codificación en caliente toma una sección que tiene datos categóricos, que tiene una etiqueta codificada existente y luego divide la sección en numerosas secciones. Los volúmenes se reconstruyen por 1 y 0, dependiendo de qué sección tiene qué valor.

El codificador one-hot no aprueba matrices 1-D. La entrada siempre debe ser una matriz 2-D.

Los datos ratificados al codificador no deben incluir cadenas.

Gran parte de los algoritmos de aprendizaje automático prevalecientes no pueden comprometerse con datos categóricos. Más bien, los datos categóricos requieren ser modificados a datos numéricos. La codificación one-hot es una de las estrategias utilizadas para realizar esta conversión. Esta técnica se utiliza principalmente cuando los métodos de aprendizaje profundo se correlacionan con problemas de sucesión secuencial.

La codificación one-hot es prácticamente la manifestación de variables categóricas como vectores binarios. Los valores categóricos se asignan inicialmente a valores enteros. Cada valor entero se ejemplifica como un vector binario que es todo ceros.

Pero, ¿qué sucederá si tenemos que manejar varios archivos?

Scikit-learn es susceptible a la disposición de secciones, por lo que si el conjunto de datos de entrenamiento y los conjuntos de datos de prueba tienen contradicciones, los resultados serán absurdos. Esto podría ocurrir si un categórico tuviera varios números de valores en los datos de entrenamiento frente a los datos de prueba.

Asegúrese de que los datos de prueba estén codificados de forma idéntica a los datos de entrenamiento con el comando de alineación. El comando align da lugar a la seguridad de que las secciones aparecen en el decreto exacto en ambos conjuntos de datos.

Leer: Modelos de aprendizaje automático

Conclusión

El globo está repleto de datos categóricos. Un analista será un científico de datos mucho más beneficioso si sabe cómo usar estos datos. Por lo tanto, cualquier persona que busque trabajar en tales modelos debe estar bien familiarizado con el uso del codificador de etiquetas y un codificador activo en el aprendizaje automático.

Si está interesado en obtener más información sobre el aprendizaje automático, consulte el Diploma PG en aprendizaje automático e IA de IIIT-B y upGrad, que está diseñado para profesionales que trabajan y ofrece más de 450 horas de capacitación rigurosa, más de 30 estudios de casos y asignaciones, IIIT- B Estado de exalumno, más de 5 proyectos prácticos finales prácticos y asistencia laboral con las mejores empresas.

¿Qué algoritmos requieren el uso de una codificación en caliente?

Se utiliza un proceso de codificación en caliente para tratar con variables categóricas. Este proceso convierte las variables categóricas para facilitar que los algoritmos de aprendizaje automático usen las variables para una mejor predicción. Los algoritmos que toman solo valores numéricos como entradas requieren solo un proceso de codificación en caliente para convertir las variables categóricas. Algunos de estos algoritmos de aprendizaje automático son la regresión logística, la regresión lineal, la máquina de vectores de soporte, etc. Sin embargo, algunos algoritmos, como Markov Chain, Naive Bayes, etc., no requieren codificación porque son capaces de manejar distribuciones discretas conjuntas.

¿Cuándo se prefiere usar una codificación en caliente en el aprendizaje profundo?

One Hot Encoding es un poderoso enfoque de preprocesamiento y transformación de datos que ayuda a los modelos de ML a comprender los datos proporcionados. Básicamente, una codificación en caliente se usa cuando el algoritmo ML no puede trabajar con variables categóricas, por lo tanto, una codificación en caliente las convierte en una forma adecuada. El uso de una codificación en caliente es el más preferido cuando las características de las variables categóricas que se van a convertir no son ordinales. Además, una codificación en caliente funciona de manera efectiva cuando la cantidad de características categóricas presentes en el conjunto de datos dado es muy inferior.

¿Qué significa el término trampa de variable ficticia?

La trampa de variable ficticia es uno de los problemas que enfrenta el proceso de codificación one-hot. Esto ocurre cuando un conjunto de datos categóricos tiene variables fuertemente vinculadas. Como consecuencia, el resultado de una variable se puede anticipar fácilmente usando las variables restantes cuando se usa el procedimiento de codificación en caliente. Como resultado de la trampa de variable ficticia, surge otro problema conocido como multicolinealidad.