Esta plantilla está diseñada para impulsar proyectos de ciencia de datos proporcionando una configuración básica para conexiones de base de datos, procesamiento de datos, y desarrollo de modelos de aprendizaje automático. Incluye una organización estructurada de carpetas para tus conjuntos de datos y un conjunto de paquetes de Python predefinidos necesarios para la mayoría de las tareas de ciencia de datos.
El proyecto está organizado de la siguiente manera:
src/app.py→ Script principal de Python donde correrá tu proyecto.src/explore.ipynb→ Notebook para exploración y pruebas. Una vez finalizada la exploración, migra el código limpio aapp.py.src/utils.py→ Funciones auxiliares, como conexión a bases de datos.requirements.txt→ Lista de paquetes de Python necesarios.models/→ Contendrá tus clases de modelos SQLAlchemy.data/→ Almacena los datasets en diferentes etapas:data/raw/→ Datos sin procesar.data/interim/→ Datos transformados temporalmente.data/processed/→ Datos listos para análisis.
No es necesario realizar ninguna configuración manual, ya que Codespaces se configura automáticamente con los archivos predefinidos que ha creado la academia para ti. Simplemente sigue estos pasos:
- Espera a que el entorno se configure automáticamente.
- Todos los paquetes necesarios y la base de datos se instalarán por sí mismos.
- El
usernameydb_namecreados automáticamente están en el archivo.enven la raíz del proyecto.
- Una vez que Codespaces esté listo, puedes comenzar a trabajar inmediatamente.
Prerrequisitos
Asegúrate de tener Python 3.11+ instalado en tu máquina. También necesitarás pip para instalar los paquetes de Python.
Instalación
Clona el repositorio del proyecto en tu máquina local.
Navega hasta el directorio del proyecto e instala los paquetes de Python requeridos:
pip install -r requirements.txtCrear una base de datos (si es necesario)
Crea una nueva base de datos dentro del motor Postgres personalizando y ejecutando el siguiente comando:
$ psql -U postgres -c "DO \$\$ BEGIN
CREATE USER mi_usuario WITH PASSWORD 'mi_contraseña';
CREATE DATABASE mi_base_de_datos OWNER mi_usuario;
END \$\$;"Conéctate al motor Postgres para usar tu base de datos, manipular tablas y datos:
$ psql -U mi_usuario -d mi_base_de_datos¡Una vez que estés dentro de PSQL podrás crear tablas, hacer consultas, insertar, actualizar o eliminar datos y mucho más!
Variables de entorno
Crea un archivo .env en el directorio raíz del proyecto para almacenar tus variables de entorno, como tu cadena de conexión a la base de datos:
DATABASE_URL="postgresql://<USUARIO>:<CONTRASEÑA>@<HOST>:<PUERTO>/<NOMBRE_BD>"
#example
DATABASE_URL="postgresql://mi_usuario:mi_contraseña@localhost:5432/mi_base_de_datos"Para ejecutar la aplicación, ejecuta el script app.py desde la raíz del directorio del proyecto:
python src/app.pyPara añadir clases de modelos SQLAlchemy, crea nuevos archivos de script de Python dentro del directorio models/. Estas clases deben ser definidas de acuerdo a tu esquema de base de datos.
Definición del modelo de ejemplo (models/example_model.py):
from sqlalchemy.orm import DeclarativeBase
from sqlalchemy import String
from sqlalchemy.orm import Mapped, mapped_column
Base = declarative_base()
class ExampleModel(Base):
__tablename__ = 'example_table'
id: Mapped[int] = mapped_column(primary_key=True)
username: Mapped[str] = mapped_column(unique=True)Puedes colocar tus conjuntos de datos brutos en el directorio data/raw, conjuntos de datos intermedios en data/interim, y los conjuntos de datos procesados listos para el análisis en data/processed.
Para procesar datos, puedes modificar el script app.py para incluir tus pasos de procesamiento de datos, utilizando pandas para la manipulación y análisis de datos.
Esta plantilla fue construida como parte del Data Science and Machine Learning Bootcamp de 4Geeks Academy por Alejandro Sanchez y muchos otros contribuyentes. Descubre más sobre los programas BootCamp de 4Geeks Academy aquí.
Otras plantillas y recursos como este se pueden encontrar en la página de GitHub de la escuela.