# Learning

{% hint style="success" %}
A tutorial video is available at the bottom of the page
{% endhint %}

Like feature extraction, the learning module also utilizes a drag-and-drop design, allowing users to define their machine learning pipeline which incorporates feature processing steps such as cleaning, feature selection, and more.

The next sections explain how to use this module to train your models and analyze results.

The following image depicts the available resources in the leaning module interface:

<figure><img src="https://314741292-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWC0t7nEhhoOT73GRY714%2Fuploads%2Fi3a1EzttyAXXOKzWsCTo%2FMEDomicsLabLearningModule.png?alt=media&#x26;token=4d11e807-4b2a-4aac-983d-e078a846aef9" alt=""><figcaption></figcaption></figure>

Having gained an understanding of the various components of the extraction interface, the following section illustrates the available nodes, highlighting their individual functionalities, inputs, and outputs:

| Node                                                                                                                                                                                                                                                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                               | In-Nodes                                                               | Out-Nodes                                                                           |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| <img src="https://314741292-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWC0t7nEhhoOT73GRY714%2Fuploads%2F9Vst9xOp0vxu4lkE7TwB%2FSplitNode.png?alt=media&#x26;token=02047fd6-5794-4742-bec8-435b4d8c4f7d" alt="" data-size="original">            | Based on the chosen options, this node generates and stores a holdout set for subsequent model evaluation.                                                                                                                                                                                                                                                                                                                | No inputs                                                              | Design                                                                              |
| <img src="https://314741292-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWC0t7nEhhoOT73GRY714%2Fuploads%2F6ae30CWUTBgRHk3NvyHw%2FDesingNode.png?alt=media&#x26;token=90d2a706-7d32-4cb7-afa1-3abb9bf9034f" alt="" data-size="original">           | The design node allows you to configure various options for your machine learning experiment, including the experiment name, data splitting method, train and test portions, and more. Additionally, this node will create a separate folder to store all files related to the experiment.                                                                                                                                | Split                                                                  | Data                                                                                |
| <img src="https://314741292-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWC0t7nEhhoOT73GRY714%2Fuploads%2FLPqxq7HCT930Kgo5q5xd%2FDataNode.PNG?alt=media&#x26;token=f082adf4-8e57-4e88-a493-29b8823355f9" alt="" data-size="original">             | This is employed to specify your feature set. After setting the features folder, you can choose the features file (CSV files) to use in your experiment.                                                                                                                                                                                                                                                                  | Design                                                                 | <p>Cleaning</p><p>Normalization</p><p>Feature Reduction</p><p>Radiomics Learner</p> |
| <img src="https://314741292-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWC0t7nEhhoOT73GRY714%2Fuploads%2F0yegJu3DSjzAWs0UH29H%2FCleaningNode.png?alt=media&#x26;token=44b73a9d-b554-4235-b838-00a6d9d3b5ed" alt="" data-size="original">         | <p>Data cleaning consists of four parts:</p><ul><li><strong>Remove missing features</strong></li><li><strong>Remove missing patients</strong></li><li><strong>Remove invariant features</strong></li><li><strong>Impute missing features</strong></li></ul>                                                                                                                                                               | Data                                                                   | <p>Normalization</p><p>Feature Reduction</p><p>Radiomics Learner</p>                |
| <img src="https://314741292-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWC0t7nEhhoOT73GRY714%2Fuploads%2FQaVpqJdMpu0MfEvH3rkv%2FNormalizationNode.png?alt=media&#x26;token=b01a981f-26f8-49fc-ae3d-e0f9409b0641" alt="" data-size="original">    | Normalizing radiomics features using ComBat method to mitigate batch effects arising from data from different sources.                                                                                                                                                                                                                                                                                                    | <p>Data</p><p>Cleaning</p>                                             | <p>Feature Reduction</p><p>Radiomics Learner</p>                                    |
| <img src="https://314741292-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWC0t7nEhhoOT73GRY714%2Fuploads%2FoDWyQRB1Nzr6cUJHYTpd%2FFSRNode.png?alt=media&#x26;token=ffaa326a-f5a9-4c55-9c9d-260b522013e2" alt="" data-size="original">              | Feature selection consists of selecting predictive features using the false discovery avoidance method. All the parameters are explained in the method's [paper](https://ieeexplore.ieee.org/document/8528467).                                                                                                                                                                                                           | <p>Data</p><p>Cleaning</p><p>Normalization</p>                         | Radiomics Learner                                                                   |
| <img src="https://314741292-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWC0t7nEhhoOT73GRY714%2Fuploads%2Fb9g7dq5a7bzUOlnrKTAJ%2FRadiomicsLearnerNode.png?alt=media&#x26;token=0fef7f68-5837-4381-a8f3-73a4e295b467" alt="" data-size="original"> | This node sets all options to the model used. [XGBoost ](https://xgboost.readthedocs.io/en/stable/)is the only algorithm supported for now, and its settings can be tuned using an automatic approach: [PyCaret ](https://pycaret.org/)or using a random or a grid search.                                                                                                                                                | <p>Data</p><p>Cleaning</p><p>Normalization</p><p>Feature Reduction</p> | Analyze                                                                             |
| <img src="https://314741292-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWC0t7nEhhoOT73GRY714%2Fuploads%2FPJBN5KftziAY65KAiMCf%2FAnalyzeNode.png?alt=media&#x26;token=ab5ae827-3a64-44d7-9c0c-257d3b724764" alt="" data-size="original">          | The final node is used for analyzing the results obtained from the experiment. You can utilize this node to select specific analysis methods, such as histograms, heatmap, or importance tree. Each method comes with its own set of options that need to be configured. For additional information, please refer to the [documentation ](https://medimage.readthedocs.io/en/latest/tutorials.html)available in *MEDiml*. | Radiomics Learner                                                      | No outputs                                                                          |

### Tutorial video <a href="#tutorial-video" id="tutorial-video"></a>

{% embed url="<https://www.youtube.com/watch?ab_channel=MEDomicsLab&v=Q4Y5xsvi9G0>" %}

A detailed demonstration on renal cell carcinoma dataset can be found in the next page.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://medomicslab.gitbook.io/mediml-app-docs/learning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
