Desarrollo del proyecto - Axneitor/Trabajo_Final_Herramientas_IA GitHub Wiki
Desarrollo Técnico y Visualización
Implementación y Análisis
- Como primer paso en el desarrollo del proyecto, se creó un repositorio en GitHub con todos los archivos necesarios para iniciar el trabajo. Este repositorio, titulado Trabajo_Final_Herramientas_IA, fue elaborado por los autores Alex Mora y Byron Bravo. Su propósito es centralizar el código fuente, los datos y los recursos utilizados, facilitando la colaboración, el control de versiones y la trazabilidad del proceso de desarrollo como se puede observar en la Figura 1.
Figura 1. Vista del repositorio Trabajo_Final_Herramientas_IA en GitHub.
-
Después de crear el repositorio, el siguiente paso fue generar un entorno virtual. La idea era tener un espacio controlado donde pudiéramos organizar y ejecutar el proyecto sin interferencias de otros programas o librerías que tengamos instaladas en el sistema.
-
En este entorno colocamos todos los archivos necesarios para la práctica y nos aseguramos de instalar, desde el inicio, todas las librerías que íbamos a utilizar. Esto nos ayudó a mantener todo en un solo lugar y a evitar posibles errores de compatibilidad. Además de instalar las librerías, también configuramos JupyterLab dentro de ese mismo entorno como observamos en la Figura 2.
Nota: en el proyecto se puede encontar el archivo requirements.txt
Figura 2. Estructura del entorno virtual, que incluye JupyterLab y las librerías necesarias para el desarrollo del proyecto.
-
Una vez que tuvimos todas las herramientas necesarias instaladas, procedimos a iniciarlo para comenzar a trabajar. Al ejecutar el comando correspondiente, JupyterLab se abre automáticamente en el navegador predeterminado del sistema, brindándonos un entorno interactivo desde el cual podemos gestionar archivos y escribir código.
-
Ya dentro de JupyterLab, lo primero que hicimos fue crear un nuevo archivo tipo notebook, que nos permitió empezar a escribir y ejecutar el código necesario para el desarrollo del proyecto como se observa en la Figura 3.
Figura 3. Vista de JupyterLab abierto en el navegador, con un notebook creado para iniciar el desarrollo del código del proyecto.
Carga e integración de datos
-
Continuando con la preparación del proyecto, creamos una carpeta específica destinada a contener las bases de datos utilizadas. Además de estos archivos, en esa misma carpeta incluimos un script en Python encargado de crear las tablas dentro de la base de datos.
-
También desarrollamos un segundo script, cuyo propósito fue llenar esas tablas con datos falsos generados de forma automática. Esto nos permitió simular un conjunto de datos realistas y trabajar con una base funcional para las pruebas y el análisis posteriores como se observa en la Figura 4.
Figura 4. Estructura de la carpeta que contiene la base de datos y los scripts en Python para la creación y carga de datos.
-
Una vez que la base de datos estuvo levantada y cargada con los datos falsos, el siguiente paso fue unir esa información con los datos provenientes de un archivo CSV, correspondiente a un hotel. Para poder realizar la unión entre ambas fuentes de datos, fue necesario asegurarnos de que existiera un identificador común. Por esta razón, agregamos una columna en el archivo CSV que sirviera como clave, la cual también estaría presente en la base de datos. Esta correspondencia permitió vincular correctamente los registros y preparar los datos para un análisis conjunto.
-
Posteriormente, procedimos a importar las librerías necesarias para llevar a cabo la integración de las dos fuentes de datos. Utilizamos la librería sqlite3 para establecer la conexión con la base de datos. A través de esta herramienta, configuramos la cadena de conexión que nos permitió acceder a los datos almacenados en la base. Una vez realizada la conexión, aplicamos el código correspondiente para unir los datos de la base con la información contenida en el archivo CSV, logrando así una estructura integrada lista para el análisis como se observa en la Figura 5.
Figura 5. Código en Python que muestra la conexión a la base de datos con
sqlite3
y la unión con los datos del archivo CSV.
- A continuación, procedemos a explicar cada parte del código que hemos validado durante el desarrollo del proyecto. En esta sección inicial del script, realizamos la importación de todas las librerías necesarias para la ejecución del proyecto. Estas herramientas nos permiten conectar con la base de datos, manipular los datos, realizar análisis y generar visualizaciones como se observa en la Figura 6.
Figura 6. Bloque de código que muestra la importación de las librerías utilizadas para la conexión, manipulación y análisis de los datos.
- La siguiente gráfica muestra el proceso de conexión a la base de datos, utilizando un script en Python. En este bloque de código también se incluye una verificación que nos permite confirmar si la base de datos fue creada correctamente, lo cual es fundamental antes de continuar con la carga y el análisis de los datos como se observa en la Figura 7.
Figura 7. Código en Python que establece la conexión a la base de datos y verifica su creación exitosa.
- Como podemos observar en la siguiente gráfica, el código mostrado corresponde al proceso de lectura del archivo CSV utilizando pandas. Después de cargar el archivo, se añadió una nueva columna llamada id, que actúa como identificador único. Esta columna fue necesaria para poder realizar la unión con la base de datos. Finalmente, el resultado de esta unión se almacenó en una nueva tabla llamada todo, que contiene los datos combinados de ambas fuentes como se observa en la Figura 8.
Figura 8. Código que realiza la lectura del archivo CSV, agrega una columna
id
como identificador y une los datos con la base de datos en una nueva tabla llamada todo
.
- El archivo CSV contenía información pública proveniente de una base de datos disponible en la web, pero no incluía datos personales. Al integrar ambas fuentes, logramos una tabla más completa, en la que se encuentran consolidados todos los registros bajo una nueva estructura llamada todo para el análisis y visualización Figura 9.
Figura 9. Vista del archivo unificado
todo
, que contiene los registros combinados del archivo CSV original y de la base de datos con datos simulados.