Skip to main content

GUI for NiaAML Python package

Project description

NiaAML-GUI

PyPI Version PyPI - Python Version PyPI - Downloads Packaging status Fedora package GitHub license GitHub Actions

GitHub commit activity Average time to resolve an issue Percentage of issues still open GitHub contributors

📦 Installation🚀 Usage📓 Example📝 References📄 Cite us

This is a basic graphical user interface intended for users of the NiaAML Python package.

  • Free software: MIT license
  • Python versions: 3.9.x, 3.10.x, 3.11.x, 3.12.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.

Optimization View

Below is a screenshot of the first view with labeled components and you can find a description for each component under the screenshot.

NiaAML GUI First View

Component Description
1 Tabbed view for choosing components for the optimization. Clicked components get transferred to their corresponding brackets (labels 5, 6 and 7).
2 Input CSV dataset's file selection widget. After the dataset has been selected, you can also view and edit it using the edit button next to the Select file button. Also make sure you check the CSV has header checkbox in case the selected CSV file has a header row. Below you can see a screenshot of the CSV file's editing window.

NiaAML GUI Edit Dataset View

3 Dropdown widget for categorical features' encoder selection. It will be ignored if the dataset contains no categorical features.
4 Dropdown widget for missing data imputer selection. It will be ignored if the dataset contains no missing values.
5 List of selected feature selection algorithms (optional).
6 List of selected feature transform algorithms (optional).
7 List of selected classifiers.
8 Dropdown widget for the selection of components' selection optimization algorithm.
9 Dropdown widget for the selection of hyperparameters' tuning optimization algorithm. Defaults to 8 if none is selected.
10 Population size for the components' selection process.
11 Population size for the hyperparameters' tuning process.
12 Number of evaluations during the components' selection process.
13 Number of evaluations during the hyperparameters' tuning process.
14 Dropdown widget for the selection of a fitness function to use during the pipeline evaluation step.
15 Destination of the optimization's result (pipeline and text file).

Optimization

Below you can see screenshots of views during and after the optimization has finished.

NiaAML GUI Optimization Running

NiaAML GUI Optimization Finished

Usage View

Below is a screenshot of the second view with labeled components and you can find a description for each component under the screenshot.

NiaAML GUI Second View

Component Description
1 Pipeline file selection widget.
2 Input CSV file selection widget. The file should contain the same headers (if any) as the dataset in the optimization process and there should be no classes (expected results) present. After the dataset has been selected, you can also view and edit it using the edit button next to the Select file button. Also make sure you check the CSV has header checkbox in case the selected CSV file has a header row.

Run

You get a similar output than in the optimization process, but this time there is an array of predicted values present.

📓 Example

Let's say we want to find an optimal classification pipeline for the Ecoli dataset [1]. You can see the optimization setup in the screenshot below.

NiaAML GUI Optimization Setup

We hit the Start optimization button and wait... You can see the output in the screenshot below.

NiaAML GUI Optimization Output

There are also 2 new files in the selected destination directory.

NiaAML GUI Output Files

Now we can use the exported pipeline file for further classification on the unseen data.

NiaAML GUI Run Pipeline

The result for 5 individuals is shown on the screenshot below.

NiaAML GUI Run Pipeline Result

📝 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

niaaml_gui-0.4.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

niaaml_gui-0.4.0-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file niaaml_gui-0.4.0.tar.gz.

File metadata

  • Download URL: niaaml_gui-0.4.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.13.3 Linux/6.14.9-300.fc42.x86_64

File hashes

Hashes for niaaml_gui-0.4.0.tar.gz
Algorithm Hash digest
SHA256 16864a5ab57f866c455fcc1795758e6e93b92ae80a9cbde15c6e1eb0360ce95c
MD5 23bb7de0aefbd69e47c20b3308e2fff2
BLAKE2b-256 c99f7c7535175894b9c83ec7b1bc0e53156ea1c1fc6ad8074fddf5b650269114

See more details on using hashes here.

File details

Details for the file niaaml_gui-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: niaaml_gui-0.4.0-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.3 Linux/6.14.9-300.fc42.x86_64

File hashes

Hashes for niaaml_gui-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8cd40c40e75c4988b944d5c9ae4ca533b524480f60faf9a9d43020fa5bfeabcc
MD5 b5f9c1b4e0ba29bfe9d5a106ec4fd015
BLAKE2b-256 2bc190267e9088681c157321659b617f32661223fa132b4fa0daf072baa28348

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page