Preparar nuestros datos para sklearn. Pasar de string a número

Cuando trabajamos con python y sklearn necesitamos que todos los datos que vamos a modelizar sean númericos, si tenemos variables carácter necesitamos previamente transformarlas a números. La forma más rápida para realizar esta tarea es emplear preprocesing de sklearn:

[sourcecode lang=»Python»]
import pandas as pd
dias = {‘dia’: [‘lunes’,’martes’,’viernes’,’miercoles’,’jueves’,’martes’,’miercoles’,’jueves’,’lunes’]}
dias = pd.DataFrame(dias)
dias
[/sourcecode]

Creamos un data frame a partir de una diccionario que se compone de los días de la semana ahora vamos a codificar las etiquetas con el LabelEncoder de sklearn:

[sourcecode lang=»Python»]
from sklearn import preprocessing
le = preprocessing.LabelEncoder()
le.fit(dias[‘dia’])
[/sourcecode]

Podemos listar las clases:

[sourcecode lang=»Python»]
list(le.classes_)
[/sourcecode]

Me gustaría destacar que hay que tener especial cuidado con el orden de las codificaciones porque es un orden léxico-gráfico, no va por orden de aparición:

[sourcecode lang=»Python»]
dias = le.transform(dias[‘dia’])
dias
[/sourcecode]

Ahora ya estamos en disposición de poder emplear sklearn para entrenar nuestro modelo.