- 1 - Preparación del entorno de carga y datos
- 2 - Librerías de python más importantes para Machine Learning
- 3 - SciPy
- 4 - Scikit-learn
- 5 - Carga de datos
- 6 - Puntos a tener en cuenta para cargar archivos CSV
- 7 - Cabecera del archivo:
- 8 - Comentarios:
- 9 - Delimitador:
- 10 - Comillas
- 11 - Cargar archivos CSV en Python
- 12 - Cargando datos con el módulo csv de python
- 13 - Cargando los datos con numpy
- 14 - Cargando los datos con Pandas
- 15 - Conclusión
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:
- Cargar archivos CSV con la biblioteca estandar de python
- Cargar archivos CSV con Pandas
- Cargar archivos CSV con NumPy
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