> For the complete documentation index, see [llms.txt](https://medomicslab.gitbook.io/medfl-app-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://medomicslab.gitbook.io/medfl-app-docs/medfl-review/medfl-application-review.md).

# MEDfl application review

This section presents the review of the **MEDfl Application**, including installation, configuration, and execution of federated learning workflows through the graphical interface.

The application will be evaluated in two modes:

* **Simulation mode**
* **Real-world distributed mode**

## Application overview

The MEDfl Application provides a graphical interface that intergrates the functionalities of the [MEDfl python package](https://pypi.org/project/medfl/)  allowing users to:

* Create and configure federated networks
* Define nodes (clients and server)
* Upload and manage datasets
* Select aggregation strategies (FedAvg, FedProx, etc.)
* Enable Transfer Learning
* Execute federated training
* Visualize metrics across rounds
* Export experiment results

## Dataset used in this review

This review uses a large-scale **diabetes prediction dataset** publicly available on [**Kaggle**](https://www.kaggle.com/datasets/iammustafatz/diabetes-prediction-dataset?resource=download).

The dataset contains **100,000 patient records**, each corresponding to a single individual with demographic, clinical, and lifestyle-related features.

### Prediction Task

**Objective:**\
Predict whether a patient has diabetes.

**Target Variable:** `diabetes`

* `0` → No diabetes
* `1` → Diabetes

#### Features

* **Number of input variables:** 8&#x20;

  ```csv
  gender,age,hypertension,heart_disease,smoking_history,bmi,HbA1c_level,blood_glucose_level
  ```
* All features are used as predictors during training, while the target column is excluded from the input space.&#x20;

  ```csv
  diabetes
  ```

## Data distribution strategy

To simulate a realistic federated learning environment while incorporating transfer learning, the dataset is partitioned as follows:

#### 🔹 Central Pretraining Dataset (Transfer Learning Initialization)

* **25,000 patients**
* Used to train a centralized base model
* The trained model is then used to initialize the central federated server

This simulates a scenario where a pre-trained model exists prior to federated collaboration.

***

#### 🔹 Federated Clients

The remaining data is distributed across **5 federated clients**:

* **5 clients**
* **15,000 patients per client**
* Total: 75,000 patients

Each client represents a different medical institution.

## Download and install the application

Download the latest version of the MEDfl Application from this [link](https://drive.google.com/file/d/1mWwvjERiyX_h5c9cpthRctRznKmhHjDB/view?usp=sharing):

Then follow the instructions to install the application based on your operating system

{% tabs %}
{% tab title="Linux" %}
If you downloaded a `.deb` file:

```shellscript
sudo apt install ./MEDomics-x.x.x-ubuntu.deb
```

If dependency errors occur:

```shellscript
sudo apt --fix-broken install
```

After installation, the application will appear in your system applications menu.
{% endtab %}

{% tab title="Windows" %}

1. Double-click the downloaded `.exe` installer.
2. Follow the setup wizard instructions.
3. Complete installation.
4. Launch the application from the Start Menu.

If Windows displays a security warning:

* Click **More info**
* Select **Run anyway**
  {% endtab %}
  {% endtabs %}

After completing the installation, open the application and select a workspace.

{% hint style="info" %}
It is recommended to choose a new, empty folder as your workspace.
{% endhint %}

### Getting started&#x20;

To get started, double-click on the MEDfl icon. A new page will appear, allowing you to choose the execution mode: **Simulation** or **Real-World**.

<figure><img src="https://2289920470-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOpYh7tOQkAu0q6hPpqe9%2Fuploads%2Fpd2hbdGQlT0ebuqu31oW%2FGroup%2087.png?alt=media&amp;token=36b0af6a-600d-4716-9733-33aa464260c5" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2289920470-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOpYh7tOQkAu0q6hPpqe9%2Fuploads%2FxXQZ1L3C1gLbm8CTKirN%2FGroup%2086.png?alt=media&amp;token=5c28862c-8176-425c-bfcc-53e0836975e1" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://medomicslab.gitbook.io/medfl-app-docs/medfl-review/medfl-application-review.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
