Preparación del entorno de carga y datos

Preparación del entorno de carga y datos

Estamos deacuerdo en la crecida que está teniendo Python en estos últimos años como lenguaje de programación es ahora por la IA y anteriormente sobre todo con la crecida que tuvo el Machine Learning. Y es por eso por lo que vamos adoptar Python a la hora de implementar métodos de Machine Learning. Los motivos más importantes son que se trata de un lenguaje de propósito general, es decir, que se puede usar en I+D y también en producción.

Librerías de python más importantes para Machine Learning

En Python y la comunidad tiene un número importantes de librerías y algunas de ellas está muy preparadas y muy bien pensadas para trabajar en Machine Learning. Vamos a hacer un repaso a las más importantes aunque tienes muchas más ahí fuera y sería imposible conocerlas todas.

SciPy

SciPy es un ecosistema de softwawarre de código abierto basado en Python para las matemáticas, la ciencia y la ingeniería. Se trata de un complemento necesario para Python y muy necesariopara desarrollar cualquier proyecto basado en técnicas de Machine Learning. Para ser eficaces es muy necesario el aprendizaje del uso de módulos relevantes como son NumPy, Matplotlib y Pandas.

Scikit-learn

El módulo de Scikit-learn es una de las herramientas más necesarias para desarrollar y ejecutar proyectos de Machine Learning en Python . Este módulo se basa y requiere del ecosistema SciPy. Estas librerías se centran en algoritmos de Machine Learning por clasificación, regresiónk, clustering entre otros. Scikit-learn también nos proporciona de métodos para llevar a cabo tareas realacionadas, como la evaluación de modelos, el jajuste de parámetros e hiperparámetros y el procesamiento de datos. Como SciPy, Scikit-learn es de código abierto pero para propósitos comerciales está bajo licencia BSD. Utilizando esta librerías puedes aprender Machine Learning, desarrollar modelos y ponerlos en producción, todo en el mismo marco.

Carga de datos

La primera parte por la que empezamos para realizar una tarea de Machine Learning es poder cargar los datos. Estos se pueden hacer desde muchos sitios, ya sea a través de APIs, bases de datos o bien CSVs (Comma Separated Values), estos son los más comunes. Estos archivos de CSV los podemos cargar de varias maneras:

Puntos a tener en cuenta para cargar archivos CSV

Cuando cargamos archivos en CSV tenemos que tener en cuenta cuando se procede a la carga de datos de estas características.

Cabecera del archivo:

El archivo puede contener una primera línea a modo de cabecera. Esto significa una ayuda a la hora de asignar automáticamente los nombres a cada columna. Si no es así , es posible que se tenga que nombrar los atributos de manera manual. En cualquier caso debería especificar explícitamente si el CSV contiene o no esta cabecera.

Comentarios:

Es posible que la hoja tenga indicaciones que se marcan con una almohadilla # al principio de la línea., Si el archivo los incluye, dependiendo el método utilizado para la carga de los datos, es posible que tengamows que indicar si se espera o no comentarios.

Delimitador:

El delimitador estándar que separa los valores en los campos es la coma ,. En algunos casos, los archivos CSV pueden utilizar un delimitador diferentes como pueden ser tabuladores, puntos y coma o incluso un espacio en blanco en estos casos debemos de especificarlo al crear estas tablas.

Comillas

Los valores pueden venir con espacio entre medias, en estos casos, los valores deben ir dentro de unas comillas y estas suelen ser dobles aunque también se pueden usar otros caracteres. En estos casos también deberíamos especificarlo.

Cargar archivos CSV en Python

Para cargar los datos en python con las distintas librerías que hemos comentado. En POython usaríamos el módulo csv y la función reader() que puede utlizarse para cargar los archivos csv. Con NumPy usaríamos la funcion numpy.loadtxt(). Tenemos que tener en cuenta que esta función da por echo que el archivo no tiene fila de cabecera y los datos tienen todos el mismo formato Por último y de los más utlizados tenemos a Pandas y la función pandas.read_csv(). La función más flexible de las tres donde podemos cargar los datos para trabajar el Machine Learning. La función devuelve un DataFrame Pandas.DataFrame con las que se peude empezar a trabajar directamente en tareas de estadística descriptiva.

Cargando datos con el módulo csv de python

filename="ejemplo.csv"

import csv
import numpy
raw_data=open(filename, 'rt')
reader =  csv.reader(raw_data, delimiter=',', quioting=csv.QUOTE_NONE)
x=list(reader)

Cargando los datos con numpy

from numpy import loadtxt
raw_data=open(filename, 'rt')
data=loadtxt(raw_data, delimiter=',', dtype=str)
print(data.shape)

Cargando los datos con Pandas

from pandas import read_csv

col_names=['col1','col2','col3']
data=read_csv(filename, names=col_names)
print(data.shape)

Conclusión

Estas partes que vamos a ir viendo es de las partes más importantes del código que vamos a tener y que vamos a trabajar, ya que los datos no siempre estarán limpios, siendo sincero, casi nunca lo están y es donde tenemos que tener más cuidado y un trabajo más fino, ya que si los datos están mal, la medición o las conclusiones que podamos tener en un futuro estarán mal. El tiempo de trabajo estará el 80% en tener bien los datos, así que elegir el método para abrir estos archivos, selección de los archivos y las librerías deben hacerse con cabeza y sin preparación.

¿Listo para hacer crecer tu negocio?

Analicemos tu proyecto y definamos la estrategia perfecta para alcanzar tus objetivos

Solicitar consultoría gratuita