{"id":15158003,"url":"https://github.com/rociobenitez/injuries_knee_classifier","last_synced_at":"2026-01-20T19:32:30.420Z","repository":{"id":253978953,"uuid":"845119061","full_name":"rociobenitez/Injuries_Knee_Classifier","owner":"rociobenitez","description":"Predictive model to classify knee injury risk based on biomechanical data using a Random Forest classifier.","archived":false,"fork":false,"pushed_at":"2024-12-18T14:03:37.000Z","size":2463,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T14:48:01.366Z","etag":null,"topics":["jupyter-notebook","knee-injuries","machine-learning","predictive-modeling","python","random-forest","random-forest-classifier","sklearn"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rociobenitez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-20T16:06:36.000Z","updated_at":"2024-12-18T14:03:42.000Z","dependencies_parsed_at":"2024-08-20T18:31:13.531Z","dependency_job_id":"fb6fe3f9-6bb3-4d89-8357-38bdaaeeaf2c","html_url":"https://github.com/rociobenitez/Injuries_Knee_Classifier","commit_stats":null,"previous_names":["rociobenitez/injuries_knee_classifier"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rociobenitez%2FInjuries_Knee_Classifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rociobenitez%2FInjuries_Knee_Classifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rociobenitez%2FInjuries_Knee_Classifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rociobenitez%2FInjuries_Knee_Classifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rociobenitez","download_url":"https://codeload.github.com/rociobenitez/Injuries_Knee_Classifier/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247675627,"owners_count":20977376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jupyter-notebook","knee-injuries","machine-learning","predictive-modeling","python","random-forest","random-forest-classifier","sklearn"],"created_at":"2024-09-26T20:21:48.731Z","updated_at":"2026-01-20T19:32:30.413Z","avatar_url":"https://github.com/rociobenitez.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Clasificador de Lesiones de Rodilla\n\n## Descripción del Proyecto\n\nEste proyecto representa la **segunda fase** de un sistema predictivo aplicado al ámbito clínico-deportivo, centrado en el desarrollo de un modelo de machine learning para **predecir el riesgo de lesión de rodilla** a partir de datos biomecánicos.\n\nTras evaluar múltiples algoritmos, el modelo **Random Forest** fue seleccionado por su robustez, interpretabilidad y rendimiento general, optimizado mediante **GridSearchCV** con validación cruzada.\n\nEste trabajo surge como evolución de la investigación inicial presentada en el **11º Congreso Conjunto AEA-SEROD** (Barcelona) _([ver certificado](/src/pdf/240626-aea-serod2024-certificado-ponente-medico.pdf))_, donde se abordó el riesgo global de lesiones musculoesqueléticas. En esta fase, el foco se centra exclusivamente en lesiones de rodilla, destacando la **aplicación práctica de la inteligencia artificial en biomecánica**.\n\n## Contexto del Proyecto\n\n- **Fase 1:** Diseño y despliegue de un sistema predictivo para lesiones musculoesqueléticas generales ([ver repositorio](https://github.com/rociobenitez/BiomechanicalRiskPrediction)), incluyendo el uso de Google Cloud Platform.\n- **Fase 2:** Enfoque específico en la predicción de lesiones de rodilla mediante algoritmos de clasificación supervisada.\n\nEste proyecto ha sido **reconocido a nivel científico**, y ha contado con colaboración de equipos médicos y de investigación especializados.\n\n## Modelos Evaluados\n\nSe evaluaron diferentes algoritmos de clasificación para determinar el más adecuado según criterios de precisión, recall y capacidad de generalización:\n\n- **Random Forest** _(seleccionado)_\n- Bagging Classifier\n- Decision Tree\n- Gradient Boosting Classifier\n- Voting Classifier\n\nEl modelo final fue optimizado mediante **GridSearchCV**, empleando validación cruzada con 10 pliegues.\n\n## Resultados Clave\n\n- **Puntuación media de validación cruzada**: 0.669\n- **Parámetros óptimos**:\n  - `max_depth`: 6\n  - `max_features`: 'log2'\n  - `min_samples_leaf`: 1\n  - `min_samples_split`: 2\n- **Precisión entrenamiento**: 0.9779\n- **Precisión test**: 0.7353\n- **AUC-ROC**: 0.7612\n\n![Curva ROC](src/img/ROC-randomforestclassifier.png)\n\n### Métricas Detalladas:\n\n| Clase                 | Precisión | Recall | F1-score |\n| --------------------- | --------- | ------ | -------- |\n| Sin lesión de rodilla | 0.75      | 0.71   | 0.73     |\n| Lesión de rodilla     | 0.72      | 0.76   | 0.74     |\n\n### Matriz de Confusión:\n\n![Matriz de Confusión](src/img/matriz-confusion-randomforestclassifier.png)\n![Matriz Normalizada](src/img/matriz-normalizada-randomforestclassifier.png)\n\n### Conclusión\n\nEl modelo **Random Forest** ofreció el mejor equilibrio entre precisión y generalización en comparación con otros algoritmos evaluados, siendo especialmente efectivo para contextos clínicos en los que el **riesgo de lesión debe anticiparse con una base cuantificable y replicable**.\n\n## Características Utilizadas\n\nLas variables utilizadas incluyen datos antropométricos, biomecánicos y clínicos. Algunas de las más relevantes:\n\n- **Antropometría**: IMC, altura, peso, edad, talla de calzado\n- **Cinemática y dinámica**: step rate, pace, velocidad, step length, stride angle, power, pronation excursion, vertical GRF rate, vertical spring stiffness, contact ratio, impacto GS\n- **Tipo de pisada**: footstrike type, braking GS, shock\n- **Variables clínicas**: Torsión Femoral Externa, Foot Posture Index (FPI), Hallux Limitus, prueba de Jack, prueba de Thomas, genu recurvatum\n\n## Consideraciones Éticas y Confidenciales\n\nPor razones de confidencialidad y protección de datos, los archivos del conjunto de datos (`dataset_run.csv` y asociados) no están disponibles públicamente. Los datos utilizados pertenecen al equipo de investigación de la **Universidad San Jorge de Zaragoza**, y forman parte de un estudio clínico en curso.\n\nPara más información o interés en colaboración científica, se recomienda contactar directamente con la institución: [www.usj.es](https://www.usj.es/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frociobenitez%2Finjuries_knee_classifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frociobenitez%2Finjuries_knee_classifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frociobenitez%2Finjuries_knee_classifier/lists"}