Git Product home page Git Product logo

rociobenitez / biomechanicalriskprediction Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 96.2 MB

Predictive Analysis for Musculoskeletal Injury Risk using Machine Learning and Flask

Home Page: https://sistemas-predictivo-lesiones.ew.r.appspot.com/regresion

Python 0.32% Dockerfile 0.01% Jupyter Notebook 47.85% CSS 0.01% JavaScript 0.03% HTML 51.79%
app-engine bagging-classifier biomechanics-analysis cloud-sql cloud-storage extra-trees-regressor flask flask-api flask-application flask-sqlalchemy gait-analysis google-cloud-platform predictive-modeling python python3

biomechanicalriskprediction's Introduction

Análisis Predictivo para el Riesgo de Lesiones Musculoesqueléticas

Introducción

Este proyecto tiene como objetivo desarrollar un sistema predictivo para evaluar el riesgo de lesiones musculoesqueléticas y determinar la edad de marcha en pacientes. La solución integra técnicas avanzadas de minería de datos y aprendizaje automático, implementadas como una aplicación web utilizando Flask y desplegada en Google Cloud Platform (GCP) mediante App Engine. El proyecto analiza un conjunto de datos biomecánicos y clínicos para identificar patrones y factores de riesgo asociados con áreas o zonas de lesión.

Metodología

El desarrollo de este proyecto se ha realizado siguiendo una metodología ágil basada en sprints, dividida en cinco etapas principales. Cada etapa se documenta detalladamente dentro de la carpeta project/docs. Las etapas incluyen:

  1. Definición del Proyecto y Configuración Inicial (Sprint 0)
  2. Análisis Exploratorio Inicial de los Datos y ETL con PySpark (Sprint 1)
  3. Preprocesamiento de los Datos y Desarrollo de Modelos Predictivos de ML (Sprint 2)
  4. Definición de la Arquitectura Cloud y Despliegue de la Aplicación Web (Sprint 3)
  5. Visualizaciones con Tableau y D3.js (Sprint 4)
  6. Optimización, Documentación y Presentación del Proyecto (Sprint 5)

Estructura

La estructura del proyecto está organizada de la siguiente manera:

/proyecto
│
├── README.md           # Descripción general del proyecto
├── requirements.txt    # Dependencias de Python
├── app.py              # Archivo principal de la aplicación Flask
├── app.yaml            # Configuración para despliegue en Google Cloud
├── main.py             # Archivo principal para Google Cloud Functions
├── my_module.py        # Funciones utilizadas en main.py
├── wsgi.py
├── Dockerfile          # Configuración de Docker para despliegue
├── docker-compose.yml  # Configuración de Docker Compose
├── .gitignore          # Archivos y directorios a ignorar por git
├── .gcloudignore       # Archivos y directorios a ignorar por gcp
│
├── /myapp              # Directorio principal para la aplicación Flask
│   ├── __init__.py     # Inicialización de la aplicación Flask
│   ├── config.py       # Configuraciones de la aplicación
│   ├── database.py     # Definición de la tabla 'usuarios' de SQL Cloud
│   ├── extensions.py   # Importación de SQLAlchemy
│   ├── routes.py       # Definición de rutas/endpoints
│   ├── users.py        # Rutas/endpoints para añadir y ver registros de usuarios
│   ├── storage.py      # Funciones de almacenamiento (GCS)
│   ├── utils.py        # Utilidades y funciones auxiliares
│   ├── /templates      # Plantillas HTML para Flask
│   ├── /static         # Archivos estáticos (CSS, JS, imágenes)
│       ├── /css        # Contiene style.css
│       ├── /js         # Archivo 3d.js
│       ├── /images     # Recursos estáticos de la aplicación
│       └── /ico        # Archivos favicon de la aplicación
│
├── /models             # Modelos de machine learning usados en la App
│   ├── __init__.py
│   ├── classification_model.py  # Código para cargar y usar el modelo de Clasificación
│   ├── regression_model.py      # Código para cargar y usar el modelo de Regresión
│   ├── bagging_model.pkl        # Modelo de Clasificación
│   └── extraTrees_model.pkl     # Modelo de Regresión
│
├── /data               # Directorio para datos
│   ├── /raw            # Datos en bruto
│   └── /processed      # Datos procesados
│
├── /etl                # Scripts de ETL y procesamiento de datos
│   ├── ETL.ipynb
│   ├── spark_env       # Entorno y configuración de Spark
│   ├── elt-script.py   # Script principal de procesamiento de datos
│   └── elt.ipynb       # Jupyter Notebook del procesamiento inicial
│
├── /notebooks          # Jupyter Notebooks para análisis, exploración, procesamiento y modelado
│
├── /tests              # Pruebas unitarias y de integración
│   ├── __init__.py
│   ├── test_etl.py               # Pruebas para ETL
│   ├── test_flask_app.py         # Pruebas unitarias para la API
│   ├── test_cloud_functions.py   # Pruebas para Google Cloud Functions
│   └── test_routes.py            # Pruebas para las rutas de la app
│
├── /project                   # Documentación del proyecto
│   ├── /docs                  # Documentación dividida en Sprints
│   └── /investigacion-previa  # Recursos de la investigación inicial
│
├── /sql                 # Scripts SQL
└── /src
    ├── /models          # Todos los modelos guardados
    └── /utils           # Utilidades y funciones auxiliares

Archivos Principales de la Aplicación

Los archivos principales de la aplicación Flask se encuentran en la carpeta myapp. Esta carpeta incluye configuraciones, definiciones de rutas, funciones de almacenamiento y otros recursos necesarios para el funcionamiento de la aplicación.

Cómo Utilizar este Repositorio

Para utilizar este repositorio, puedes seguir estos pasos:

  1. Instalación de Dependencias:

    • Ejecuta pip install -r requirements.txt para instalar todas las dependencias de Python necesarias.
  2. Configuración del Entorno:

    • Asegúrate de tener configuradas las variables de entorno necesarias para la conexión a la base de datos y servicios de Google Cloud.
  3. Ejecución de la Aplicación Localmente:

    • Ejecutar python app.py para iniciar la aplicación Flask en su entorno local.
  4. Despliegue en Google Cloud:

    • Utilice gcloud app deploy para desplegar la aplicación en Google Cloud Platform.

Screens App

Home APP Página Añadir Registro Página del Formulario para evaluar el Riesgo de Lesión Página del Formulario para predecir la edad de marcha Adaptación Responsive

biomechanicalriskprediction's People

Contributors

rociobenitez avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.