Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/laurenzsommerlad/tum.ai-makeathon2024-amigo-challenge
Detection of rare child diseases by applying graph machine learning to a remote dataset with federated machine learning
https://github.com/laurenzsommerlad/tum.ai-makeathon2024-amigo-challenge
classifier cypher docker federated-learning graph-machine-learning jupyter-notebook knowledge-graph neo4j privacy-preserving-ml python random-forest
Last synced: 2 months ago
JSON representation
Detection of rare child diseases by applying graph machine learning to a remote dataset with federated machine learning
- Host: GitHub
- URL: https://github.com/laurenzsommerlad/tum.ai-makeathon2024-amigo-challenge
- Owner: LaurenzSommerlad
- License: mit
- Created: 2024-04-25T15:53:11.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-07-23T23:05:27.000Z (5 months ago)
- Last Synced: 2024-09-22T09:02:21.197Z (3 months ago)
- Topics: classifier, cypher, docker, federated-learning, graph-machine-learning, jupyter-notebook, knowledge-graph, neo4j, privacy-preserving-ml, python, random-forest
- Language: HTML
- Homepage: https://github.laurenzsommerlad.com/TUM.ai-Makeathon2024-Amigo-Challenge/
- Size: 4.73 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## The Dream Team - Hackathon 2nd Place AI in Medicine Challenge π₯
### Detection of rare child diseases by applying graph machine learning to a remote dataset with federated machine learning![Team Photo](https://github.com/LaurenzSommerlad/TUM.ai-Makeathon2024-Amigo-Challenge/assets/36761347/78b360be-0c70-4f10-91ef-2664a297fb40)
This challenge was part of the TUM.ai Makeathon 2024 provided by CareForeRare Foundation in Cooperation with LMU, Capegini, MI4People, FeatureCloud, Neo4j and Dr. von Hauner Children's Hospital.
### Inspiration
We chose this federated learning-based graph neural network project because of the value and impact it could have in rare disease prediction among children across the world.### What it does
It accurately predicts if a child is healthy or diagnosed with a rare disease. Moreover, we can predict the patientsβ disease categories based on the first letter of the ICD-10 code system.### How we built it
If a patient has one or more phenotypes and genes, we used a random forest to perform classification. We also implemented the first notions of graph neural networks. The application is made with Python and pushed to FeatureCloud inside a docker container.### Challenges we ran into
The first challenge was to get the docker container running on the FeatureCloud infrastructure. We faced many timeout issues related to our neo4j queries. Furthermore, we did not have direct access to the production data. This means we could initially only explore and train on the synthetic dataset, which was unfortunately not relatable. Another challenge was retrieving the logs from the feature cloud, which needed to be sent always manually through Discord.### Accomplishments that we are proud of
We were the first team with a submission and working solution, having good initial scores and utilizing innovative ML algorithms to perform binary and multi-label classification. We also implemented a Graph Machine Learning approach on a separate branch, which unfortunately could not yet be tested due to infrastructure limitations.### What we learned
How to work with Cypher to query the graph-based database neo4j. How to work with the FeatureCloud infrastructure and Federated Machine Learning, classification algorithms, graph neural networks, and ultimately the medical context that is the prerequisite of understanding the correlations between genes, proteins, phenotypes, and the respective diseases.
to start development you require python and a Docker Setup.## Authors
- Laurenz Sommerlad
- [Sandhanakrishnan Ravichandran](https://www.linkedin.com/in/sandhanakrishnanr/)
- [Roman Mishchuk](https://www.linkedin.com/in/roman-mishchuk-0ab260bb/)
- [Martin Mohammed](https://www.linkedin.com/in/martin-mohammed-30019a207/)## Project Links
- Devpost Submission
- AI in Medicine: Project AMIGO Challenge & Instructions
- Github Repo### FeatureCloud Setup
The Following example solution is build on https://github.com/FeatureCloud/app-round/```
pip install virtualenvpython -m venv careforrare
# For Mac Users
source ./careforrare/bin/activate# For Windows Users (use Powershell)
./careforrare/Scripts/Activate.ps1# Install Requirements
pip install -r requirements.txt# Develop your application with local environment you have to set local variables
# Please get in touch with the Care-For-Rare Team# Build and push your container by facilitating makefile. Please change the name of DOCKER_IMAGE_NAME in your file
# if make does not work in your env please utilize statements in Makefile to create same results
make build# to do a test run of your container with the following statement. In the logs you should see a server starting. When using Windows bases Systems we recognized mounting works better when triggering command directly in WSL System.
docker run -d -v ./config.yml:/mnt/input/config.yml -v ./data/output:/mnt/output -p 9000:9000 featurecloud.ai/dreamteam:latest
# or on Windows:
docker run -d -v ${pwd}/config.yml:/mnt/input/config.yml -v ${pwd}/data/output:/mnt/output -p 9000:9000 featurecloud.ai/dreamteam:latest# Trigger the start of the application states
curl --location 'http://localhost:9000/setup' --header 'Content-Type: application/json' --data '{"id": "0000000000000000","coordinator": false,"coordinatorID": "0000000000000000","clients": []}'# Look at logs using. Make sure to close container after testing
docker logs# Push the new image to the registry
make pushAlternatively you are free to utilize the full functionalities of the feature-cloud api and Testbed
https://featurecloud.ai/developers```
### How to run this application with docker-compose.
```docker-compose up -d ```
This command performs similar actions to the previous lengthy Docker command. It builds the Docker image and tags it as featurecloud.ai/dreamteam:latest, sets up local volume mappings, and opens the corresponding ports.
## More Hackathons
- TUM.ai Makeathon 2023 Applied AI Challenge
- Description: web-based chatbot that combines the strengths of ChatGPT, Cohere Summarizer, and a detailed questionnaire to ideate on AI use cases and business models
- Devpost Submission
- Gatsby Frontend with Tailwind CSS
- FastAPI BackendOrganized by TUM.ai e.V.