Skip to main content

pyXla

Documentation: https://pyxla.readthedocs.io


Overview

pyXla (Python package for eXplainable landscape analysis) is a flexible and generic framework for explainable landscape analysis (XLA).

Explainability is achieved by incorporating landscape analysis (LA) features that are meant for intuitive interpretation, and accompanied by visualisations alongside metrics whenever possible. Flexibility and generality are achieved by separating sampling from the actual analysis such that all the techniques implemented operate on a unified input format. As a result, the proposed framework can produce results even with a minimum of input components.

The focus of other landscape analysis branches such as exploratory landscape analysis (ELA), has leaned more towards automated problem analysis, where low-level features are used to train machine learning models to distinguish between problems for the purpose of automated algorithm selection.

The use of machine learning techniques for analysis of uninterpretable low-level features entails a loss of explainability, where focus has shifted from intuitively understanding the nature of optimisation problems and associated algorithmic performance to reliance on black-box problem characterisation and algorithm selection. Explainability is a key aim of LA, and a desirable property, more so in the context of explainable artificial intelligence (xAI). ELA's dependence on machine learning pipelines in LA limits its explainability.

In pyXla, inputs are either provided in designated files or by specifying functions to generate the inputs. The inputs are: F for objective values, X for solutions, V for violation values, D for pairwise distances between solutions, N for neighbourhood relationships between solutions, and I for any other additional input. Additionally, the following sampling algorithms for continuous problems are implemented: random walk sampling, adaptive walk sampling, and Hilbert curve sampling.

A total of 16 explainable landscape analysis features grouped into 4 categories are implemented comprising:

  • the statistical features: distribution of objective values (distr_F), distribution of violation values (distr_V), correlation of values (corr), correlation of ranks (corr_ranks), and variable importance (X_imp);

  • the ranking-based features: distribution of Pareto ranks (distr_Par) and distribution of Deb's ranks (distr_Deb);

  • the distance-based features: fitness distance correlation (FDC), violation distance correlation (VDC), rank distance correlation (RDC), pairwise distance correlation (PDC), and dispersion of the best solutions (disp_best); and

  • the neighbourhood features: neighbouring solutions' objective values correlation (NFC), neighbouring solutions' violation value of correlation (NVC), neighbouring solutions' ranks correlation (NRC), and neighbouring change in feasibility (NCF).

The pyXla framework conveniently composes the 16 landscape analysis features and three sampling algorithms, thus simplifying explainable landscape analysis.

Metadata

Release files for pyxla 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyxla 1.0.0
File Size Uploaded
pyxla-1.0.0.tar.gz 79.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyxla 1.0.0
File Interpreter ABI Platform
pyxla-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 79.2 MB

Release files / pyxla-1.0.0.tar.gz

Download URL pyxla-1.0.0.tar.gz
Size 79.1 MB
Tags Source
SHA-256 checksum
How to use checksums
32b2a5d8c742b626c6fd63a251ad903e4f1bb03e47178de827caf1e1204094b5
BLAKE2b-256 checksum
How to use checksums
7cf3137bab2d69457c37084c65602d43c2908c70cdd4e372c1a1d73d0f85aff2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.3 cpython/3.12.3 HTTPX/0.28.1

Release files / pyxla-1.0.0-py3-none-any.whl

Download URL pyxla-1.0.0-py3-none-any.whl
Size 33.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
671878237b3779f3b51e04756131b3f51217a0bc427c1a16aeecfba03bd3da7e
BLAKE2b-256 checksum
How to use checksums
b12ab9ba9c7983e0d1a28415e90f687ee6091b15fe37b6bad504f74394f9219d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.3 cpython/3.12.3 HTTPX/0.28.1

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page