Skip to content

A multiple Neural Networks (NNs) solutions to learn how different vital parameters of our body may have a future impact in determining certain neurodegenerative diseases that can lead to non-self-sufficiency

License

Notifications You must be signed in to change notification settings

lolloberga/helsinki-vento-project

Repository files navigation

helsinki-vento-project

This repository contains code and data related to the Vento – 2nd Bootcamp (2-6 December 2023). The team Helsinki members are: Lorenzo Bergadano, Michela Androlli, Marco Tuccio, Flavio Proietti Pantosti.

The market for LTCI is growing at a steady pace (25% YoY 21-22), due to the growing number of non-self-sufficient elders and more people who experience the burden of caretaking. Modeling the risk profile of LTCI policies is difficult because people live longer and age differently, this leads to risky models for insurance companies. By understanding physiological phenotypes of aging through artificial intelligence (AI), we aim to enhance better risk-profile [1] and dynamic assessment for LTCI policy subscribers, Helsinki team aims to ensure that insurance companies can optimize their policies and therefore profit from the growing LTCI market.

Here we train multiple Neural Networks (NNs) to learn how different vital parameters of our body may have a future impact in determining certain neurodegenerative diseases that can lead to non-self-sufficiency. This is done by analysing many datasets coming from different health data provider.


Fig. 1: Overview of study design [1]

Of all the models needed for the implementation of this project, we have begun to develop 2:

  • Stroke detection: a feed forward neural network that predicts the possibility of having a stroke given some vital parameters retrievable from a blood test
  • Smoke detection: a neural network that can identify whether you are a smoker from data from a blood test

Table of content


Demo

We show a demo of what the final output of the project will look like from the perspective of a user using these models to predict his or her risk profile in terms of LTC.

This is a mock-up of the user interface with the output of this repository:

These are the performance of training in terms of accuracy and loss function.

Stroke Detection - Accuracy Stroke Detection - Loss
Smoke Detection - Accuracy Smoke Detection - Loss

Tensorboard:


Cloning the repo

To clone the repo through HTTPS or SSH, you must have installed Git on your operating system.
Then you can open a new terminal and type the following command (this is the cloning through HTTPS):

    git clone https://github.com/lolloberga/helsinki-vento-project.git

If you don't have installed Git, you can simply download the repository by pressing "Download ZIP".

Requirements

See requirements.txt for the Python library requirements for running the code in this repository. Once the repo is cloned, some Python libraries are required to properly set up your (virtual) environment.

First of all, it is strongly recommended to configure a virtual environment for this project. In order to do so, you have to launch these commands on a terminal:

    cd [...]/helsinki-vento-project
    python -m venv venv

Then you can install all the libraries needed via pip:

    python -m pip install -r requirements.txt

or via conda:

    conda create --name <env_name> --file requirements.txt

Execution

There are two main scripts on the root folder which are a demonstrator of our model: you can run them in order to train the models and produce the results.
To run the training of the model, you can run:

  • python ./stroke_main.py: to run the training of the Stroke Detection model
  • python ./smoke_main.py: to run the training of the Smoke Detection model

The result of the training can be observed in real time via the Tensorboard. To activate this service, simply run the following commands on a terminal:

    cd [...]/helsinki-vento-project
    source venv/bin/activate
    tensorboard --logdir=runs

Tensorboard will be activated by default on your local computer at this address: http://localhost:6006/


Directory Structure

.
├── config
├── dataset
├── model
│   ├── loss_functions
│   ├── train
│   │   ├── base
│   │   ├── hyperparams
├── notebook
├── resources
├── notebook
├── runs
├── utils
├── LICENSE
└── README.md
  • dataset: Contains dataset Python classes in order to model our data and provide it to the NNs.
  • config: Contains a parser configurator
  • model: Contains different NN model implementations.
  • model/loss_functions: Contains the Python classes that define the loss functions of NNs.
  • model/train: Contains the trainer for each NN implementation.
  • model/train/hyperparams: Hyperparameter tuning files.
  • model/train/base: Contains the base classes for our framework.
  • notebook: Contains some Jupiter notebooks used to make dataset analysis.
  • resources: Contains the configuration file and the datasets.
  • utils: Contains utility code for plotting results.
  • runs: Contains the output of the training phase that you can see on Tensorboard

Articles

[1] Tian, Ye Ella, et al. "Heterogeneous aging across multiple organ systems and prediction of chronic disease and mortality." Nature Medicine 29.5 (2023): 1221-1231. DOI


Contacts

Author GitHub
Lorenzo Bergadano lolloberga
Marco Tuccio MarcoTuc

About

A multiple Neural Networks (NNs) solutions to learn how different vital parameters of our body may have a future impact in determining certain neurodegenerative diseases that can lead to non-self-sufficiency

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published