¿Cómo convertir características categóricas a características numéricas en Python?

Es difícil crear modelos de aprendizaje automático que no puedan tener características que tengan valores categóricos, tales modelos no pueden funcionar. las variables categóricas tienen valores de tipo string. por lo tanto, tenemos que convertir valores de string en números. Esto se puede lograr creando nuevas funciones basadas en las categorías y estableciéndoles valores. En este artículo, vamos a ver cómo convertir características categóricas a características numéricas en Python

Implementación paso a paso

Paso 1: Importe los paquetes y módulos necesarios

Python3

# import packages and modules
import numpy as np
import pandas as pd
from sklearn import preprocessing

Paso 2: importa el archivo CSV

Usaremos el método pandas read_csv() para importar el archivo CSV. Para ver y descargar el archivo CSV utilizado, haga clic aquí .

Python3

# import the CSV file
df = pd.read_csv('cluster_mpg.csv')
print(df.head())

Producción:

Paso 3: obtenga todas las funciones con valores categóricos

Usamos df.info() para encontrar características categóricas. Las características categóricas tienen Dtype como «objeto».

Python3

df.info()

Producción:

En las columnas de la base de datos dada, «origen» y «nombre» es el tipo de objeto.

Paso 4: Convierta los valores de string de la columna de origen en valores numéricos

Ajustaremos la columna «origen» usando el método preprocessing.LabelEncoder().fit().

Python3

label_encoder = preprocessing.LabelEncoder()
label_encoder.fit(df["origin"])

Paso 5: obtenga los valores únicos de las características categóricas

Usaremos el atributo label_encoder.classes_ para este propósito.

clases_: ndarray de forma (n_clases,)

Contiene la etiqueta de cada clase.

Python3

# finding the unique classes
print(list(label_encoder.classes_))
print()

Producción

['europe', 'japan', 'usa']

Paso 6: Transformar los valores categóricos

Python3

# values after transforming the categorical column.
print(label_encoder.transform(df["origin"]))

Producción:

Publicación traducida automáticamente

Artículo escrito por isitapol2002 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *