# ahmad-nadeem-official/ml-studio architecture

> Architecture diagram of the GitHub repository ahmad-nadeem-official/ml-studio, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ahmad-nadeem-official/ml-studio
- Repository: https://github.com/ahmad-nadeem-official/ml-studio

## Overview

ML Studio is a Streamlit no-code dashboard for loading tabular datasets, exploring them, and training classification or regression models. Its primary workflow runs through a single application file: upload and inspect data, choose a model, tune and adjust parameters, train, review metrics, and download the result. The README also describes EDA visualizations, SVM scaling, and preprocessing guidance. The sampled code shows these responsibilities largely embedded in the app; separate files under main_fnx contain algorithm-specific code, but the excerpts do not establish that the app imports or dispatches to them.

Main entry points: [`main/main.py`](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py) (Hyperparameter tuning)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Dashboard and data exploration"]
  node_app["Streamlit app<br/>[main.py]"]
  node_dataset["Uploaded dataset<br/>[main.py]"]
  node_data_load["CSV / Excel loading<br/>[main.py]"]
  node_eda["Data review<br/>[main.py]"]
  node_visuals["EDA visualizations<br/>[main.py]"]
end

subgraph group_modeling["Modeling workflow"]
  node_model_choice["Task and model selection<br/>[main.py]"]
  node_prepare["Split and preprocessing<br/>[main.py]"]
  node_classification["Classification models<br/>[main.py]"]
  node_regression["Regression models<br/>[main.py]"]
  node_tuning["Hyperparameter tuning<br/>[main.py]"]
  node_training["Final model training<br/>[main.py]"]
  node_rf_code["Random Forest code<br/>[RF.py]"]
  node_svm_code["SVM code<br/>[SVM.PY]"]
  node_knn_code["KNN code<br/>[KNN.py]"]
  node_logistic_code["Logistic regression code<br/>[logistic.py]"]
  node_linear_code["Linear regression code<br/>[linear.py]"]
end

subgraph group_results["Evaluation and export"]
  node_evaluation["Model evaluation<br/>[main.py]"]
  node_export["Model download<br/>[main.py]"]
end

node_user(("Dashboard user"))
node_optuna["Optuna"]
node_preprocess_guide["Colab cleaning guide"]

node_user -->|"uses"| node_app
node_user -->|"uploads"| node_dataset
node_app -->|"loads"| node_data_load
node_dataset -->|"provides file"| node_data_load
node_data_load -->|"provides data"| node_eda
node_eda -->|"explores"| node_visuals
node_user -->|"selects task"| node_model_choice
node_model_choice -->|"configures data"| node_prepare
node_prepare -->|"supplies data"| node_classification
node_prepare -->|"supplies data"| node_regression
node_classification -->|"offers parameters"| node_tuning
node_regression -->|"offers parameters"| node_tuning
node_tuning -->|"optimizes with"| node_optuna
node_tuning -->|"provides parameters"| node_training
node_user -->|"starts training"| node_training
node_training -->|"produces predictions"| node_evaluation
node_evaluation -->|"presents model"| node_export
node_user -->|"downloads"| node_export
node_preprocess_guide -.->|"guides cleaning"| node_user

click node_app "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_dataset "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_data_load "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_eda "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_visuals "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_model_choice "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_prepare "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_classification "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_regression "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_tuning "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_training "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_evaluation "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_export "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py"
click node_rf_code "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main_fnx/RF.py"
click node_svm_code "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main_fnx/SVM.PY"
click node_knn_code "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main_fnx/KNN.py"
click node_logistic_code "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main_fnx/logistic.py"
click node_linear_code "https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main_fnx/linear.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_dataset,node_data_load,node_eda,node_visuals,node_user toneBlue
class node_model_choice,node_prepare,node_classification,node_regression,node_tuning,node_training,node_rf_code,node_svm_code,node_knn_code,node_logistic_code,node_linear_code toneAmber
class node_evaluation,node_export toneMint
class node_optuna,node_preprocess_guide toneIndigo
```

## Components

### Dashboard and data exploration

- [Streamlit app](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`
- [Uploaded dataset](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`
- [CSV / Excel loading](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`
- [Data review](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`
- [EDA visualizations](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`

### Modeling workflow

- [Task and model selection](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`
- [Split and preprocessing](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`
- [Classification models](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`
- [Regression models](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`
- [Hyperparameter tuning](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`
- [Final model training](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`
- [Random Forest code](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main_fnx/RF.py): `main_fnx/RF.py`
- [SVM code](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main_fnx/SVM.PY): `main_fnx/SVM.PY`
- [KNN code](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main_fnx/KNN.py): `main_fnx/KNN.py`
- [Logistic regression code](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main_fnx/logistic.py): `main_fnx/logistic.py`
- [Linear regression code](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main_fnx/linear.py): `main_fnx/linear.py`

### Evaluation and export

- [Model evaluation](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`
- [Model download](https://github.com/ahmad-nadeem-official/ml-studio/blob/main/main/main.py): `main/main.py`

### Other components

- **Dashboard user**
- **Optuna**
- **Colab cleaning guide**

## Connections

- Dashboard user → Streamlit app: uses
- Dashboard user → Uploaded dataset: uploads
- Streamlit app → CSV / Excel loading: loads
- Uploaded dataset → CSV / Excel loading: provides file
- CSV / Excel loading → Data review: provides data
- Data review → EDA visualizations: explores
- Dashboard user → Task and model selection: selects task
- Task and model selection → Split and preprocessing: configures data
- Split and preprocessing → Classification models: supplies data
- Split and preprocessing → Regression models: supplies data
- Classification models → Hyperparameter tuning: offers parameters
- Regression models → Hyperparameter tuning: offers parameters
- Hyperparameter tuning → Optuna: optimizes with
- Hyperparameter tuning → Final model training: provides parameters
- Dashboard user → Final model training: starts training
- Final model training → Model evaluation: produces predictions
- Model evaluation → Model download: presents model
- Dashboard user → Model download: downloads
- Colab cleaning guide → Dashboard user: guides cleaning
