GUI for NiaAML Python package
Project description
NiaAML-GUI
📦 Installation • 🚀 Usage • 📓 Example • 📝 References • 📄 Cite us
A graphical user interface for building and running machine learning pipelines using the NiaAML framework. This GUI now supports block-based pipeline composition, drag-and-drop components, visual connections, and CSV editing.
- Free software: MIT license
- Python versions: 3.10.x, 3.11.x, 3.12.x, 3.13.x
📦 Installation
To install NiaAML-GUI with pip, use:
pip install niaaml_gui
After successful installation, run main.py:
python main.py
Fedora Linux
To install NiaAML-GUI on Fedora, use:
$ dnf install NiaAML-GUI
Alpine Linux
To install NiaAML-GUI on Alpine Linux, enable Community repository and use:
$ apk add niaaml-gui
🚀 Usage
NiaAML GUI application allows you to use the main features of the NiaAML framework. There are two views in the application. In the first one, you can prepare an environment for a pipeline optimization process. The purpose of the second one is to allow you to use an existing pipeline from a file. The application currently supports data input in the form of CSV files.
Pipeline Canvas View
Below is a screenshot of the first view with labeled components and you can find a description for each component under the screenshot.
| Component | Description |
|---|---|
| 1 | Tabbed view for choosing components to be added to the canvas. Components can be dragged and dropped onto the canvas to visually build the pipeline. |
| 2 | The canvas area where blocks (components) are placed and connected. Users can construct the pipeline visually by drawing arrows between valid components. |
| 3 | "Select CSV File" block. Input dataset selection. Includes a file browser, CSV header checkbox, and an edit button to view/modify the CSV content. |
| 4 | "Categorical Encoder" block. Allows selection of encoding method for categorical features. Dropdown populated dynamically. |
| 5 | "Missing Imputer" block. Allows selection of imputation method to handle missing values. |
| 6 | "Feature Selection" block. Multi-selection dialog allows the user to choose one or more feature selection algorithms. |
| 7 | "Feature Transform" block. Multi-selection dialog allows choosing one or more feature transformation algorithms. |
| 8 | "Classifier" block. Multi-selection dialog for selecting one or more classification models. |
| 9 | "Optimization Algorithm (Selection)" block. Dropdown for choosing the optimization algorithm used in component selection. |
| 10 | "Optimization Algorithm (Tuning)" block. Dropdown for choosing the algorithm used for hyperparameter tuning. |
| 11 | "Population Size (Components Selection)" block. Numeric input for specifying the population size during component selection. |
| 12 | "Population Size (Parameter Tuning)" block. Numeric input for specifying the population size for hyperparameter tuning. |
| 13 | "Number of Evaluations (Component Selection)" block. Sets the number of allowed evaluations during selection. |
| 14 | "Number of Evaluations (Parameter Tuning)" block. Sets the number of evaluations for hyperparameter tuning. |
| 15 | "Fitness Function" block. Dropdown for selecting the fitness function used during evaluation of each candidate pipeline. |
| 16 | "Pipeline Output Folder" block. Defines the target folder where output files (pipeline, logs, results) are saved. |
| 17 | Arrow connections between blocks. Only valid connections are allowed. When drawing, green/red highlights show whether the target is acceptable. |
| 18 | Validation system. Before running optimization, the system checks whether all required components are present and properly configured. |
Optimization
Below you can see screenshots of views during and after the optimization has finished.
📓 Example
Let's say we want to find an optimal classification pipeline for the Example dataset. You can see the optimization setup in the screenshot below.
We hit the Start optimization button and wait... You can see the output in the screenshot below.
There are also 2 new files in the selected destination directory.
Now we can use the exported pipeline file for further classification on the unseen data.
📝 References
[1] Dua, D. and Graff, C. (2019). UCI Machine Learning Repository. Irvine, CA: University of California, School of Information and Computer Science.
📄 Cite us
L. Pečnik, I. Fister Jr. "NiaAML: AutoML framework based on stochastic population-based nature-inspired algorithms." Journal of Open Source Software 6.61 (2021): 2949.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file niaaml_gui-0.4.3.tar.gz.
File metadata
- Download URL: niaaml_gui-0.4.3.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.13.5 Linux/6.15.8-200.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9327c21dce0d85d5072cacf05d51b7d6afdad8be180c673bbdced8c9c94c478
|
|
| MD5 |
e6ae0ed622f2f9c141e48956e2615a57
|
|
| BLAKE2b-256 |
fa41e53e93b0edc6cd6b5fa65eb3e90baf942ea010b167f1dd06ca25838a3e07
|
File details
Details for the file niaaml_gui-0.4.3-py3-none-any.whl.
File metadata
- Download URL: niaaml_gui-0.4.3-py3-none-any.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.13.5 Linux/6.15.8-200.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d0cbee158f13c62f4060b439e28d5003cd1f967d0cf1871bf561d4ecc1fde81
|
|
| MD5 |
f4836c0864542cdf2cc51c66a3afacad
|
|
| BLAKE2b-256 |
1855ac4018bf8f5152962f4b463ac9f2946181d942f8533ef603d376b152e4b7
|