Cómo hacer aprendizaje automático usando scikit-learn para un archivo CSV que tiene muchas columnas de texto

Para eso necesitas entender cómo funciona Count Vectorizer. Tomemos un ejemplo de solo una columna con digamos 4 filas (que será un vector de 4 elementos) y usemos Count Vectorizer en eso.

from sklearn.feature_extraction.text import CountVectorizer

vectorizador = CountVectorizer ()
corpus = [
‘Este es el primer documento’.
‘Este es el segundo segundo documento’.
‘Y el tercero’.
‘¿Es este el primer documento?’,
]
X = vectorizer.fit_transform (corpus)
imprimir “Resultado:”, X.toarray ()
imprimir “Diccionario:”, vectorizer.get_feature_names ()

Salida:

Resultado: [[0 1 1 1 0 0 1 0 1]
[0 1 0 1 0 2 1 0 1]
[1 0 0 0 1 0 1 1 0]
[0 1 1 1 0 0 1 0 1]]
Diccionario: [u’and ‘, u’document’, u’first ‘, u’is’, u’one ‘, u’second’, u’the ‘, u’third’, u’this ‘]

X representa los datos de entrada en términos de frecuencia de palabras presentes en el diccionario. [math] X_ij [/ math] representa la frecuencia de [math] j ^ th [/ math] palabra (en el diccionario) en [math] i ^ th [/ math] elemento (oración) de datos. El diccionario está construido por las palabras presentes en los datos, aunque también puede proporcionar su propio conjunto de palabras.

Ahora, volviendo a su pregunta, desea aplicar Count Vectorizer a diferentes columnas y luego usar todo junto como una entrada para su algoritmo ML. Para facilitar, supongamos que tiene dos columnas de texto, es decir, columna1 y columna2. Entonces, esto es lo que puedes hacer:

vectorizer_1 = CountVectorizer ()
vectorizer_2 = CountVectorizer ()

# Ajustar y transformar con vectorizer_1 en la columna 1
X_1 = vectorizer.fit_transform (columna_1)

# Ajustar y transformar con vectorizer_2 en la columna 2
X_2 = vectorizer.fit_transform (column_2)

from scipy.sparse import hstack
#Concat ambos resultados
X = hstack ([X_1, X_2])

Aquí, he usado dos vectorizadores para ajustar ambas columnas y luego uní (concatenamos) la matriz resultante. Puede usar la [matemática] X [/ matemática] final como entrada para cualquier algoritmo.

Nota: He utilizado [math] hstack [/ math] de [math] scipy [/ math] para unirme, ya que la salida de la transformación Count Vectrorizer es una matriz dispersa.

En primer lugar, debe saber qué debe hacerse exactamente. Si su archivo csv contiene textos como (EE. UU., FRANCIA, ALEMANIA) de forma repetida en una columna, deberá codificarlos en enteros o flotantes según su elección. Eso es algo que se incluye en la parte de preprocesamiento de datos de su código de Machine Learning.

Use la biblioteca sklearn.preprocessing para hacer el preprocesamiento de datos.

sklearn.preprocessing.LabelEncoder – documentación de scikit-learn 0.19.1

sklearn.preprocessing.CategoricalEncoder – documentación de scikit-learn 0.20.dev0

sklearn.preprocessing.OneHotEncoder – documentación de scikit-learn 0.19.1

More Interesting

¿Cómo funciona la propagación hacia atrás en la red neuronal convolucional?

¿Qué es el aprendizaje automático? ¿Alguien puede explicar sobre el aprendizaje automático?

¿Qué algoritmos (aprendizaje automático y aprendizaje profundo) funcionan con un pequeño conjunto de datos, sin sobreajustarlo?

¿Qué ha aprendido sobre el aprendizaje automático, la recuperación de información y la minería de datos después de unirse a una empresa de Internet que se ocupa de big data?

¿Cómo califica Kaggle los envíos?

¿Cuál es una buena forma de buscar artículos en visión artificial y aprendizaje automático?

¿Cuáles son algunas de las ventajas del aprendizaje por diferencia temporal y cómo se puede mejorar?

¿Cómo determinaría si el error de cuando ejecuta su algoritmo de aprendizaje automático es de alto sesgo o alta varianza (también conocido como corte o sobreajuste)?

Cómo realizar el aprendizaje de refuerzo en una red neuronal de alimentación oculta de capas múltiples

¿Qué significa ser modelo pre-entrenado en CNN? ¿Ya están entrenados en esas clases particulares?

Cómo comenzar a aprender y codificar Inteligencia Artificial

Cómo implementar el reconocimiento de imágenes para crear una aplicación para organizar imágenes

¿Cuáles son los mejores cursos introductorios para el aprendizaje automático disponibles en Internet para principiantes?

Cómo hacer ingeniería de características en aprendizaje automático

¿Es posible combinar dos algoritmos no supervisados ​​en serie para maximizar la precisión?