Skip to main content
https://travis-ci.com/lukapecnik/NiaAML.svg?branch=master https://coveralls.io/repos/github/lukapecnik/NiaAML/badge.svg?branch=travisCI_integration https://img.shields.io/pypi/v/niaaml.svg https://img.shields.io/pypi/pyversions/niaaml.svg https://img.shields.io/github/license/lukapecnik/niaaml.svg

NiaAML is an automated machine learning Python framework based on nature-inspired algorithms for optimization. The name comes from the automated machine learning method of the same name [1]. Its goal is to efficiently compose the best possible classification pipeline for the given task using components on the input. The components are divided into three groups: feature seletion algorithms, feature transformation algorithms and classifiers. The framework uses nature-inspired algorithms for optimization to choose the best set of components for the classification pipeline on the output and optimize their parameters. We use NiaPy framework for the optimization process which is a popular Python collection of nature-inspired algorithms. The NiaAML framework is easy to use and customize or expand to suit your needs.

The NiaAML framework allows you not only to run full pipeline optimization, but also separate implemented components such as classifiers, feature selection algorithms, etc. It supports numerical and categorical features as well as missing values in datasets.

Installation

pip

Install NiaAML with pip3:

pip3 install niaaml

In case you would like to try out the latest pre-release version of the framework, install it using:

pip3 install niaaml --pre

Install From Source

In case you want to install directly from the source code, use:

git clone https://github.com/lukapecnik/NiaAML.git
cd NiaAML
python setup.py install

Graphical User Interface

You can find a simple graphical user interface for NiaAML package here.

Usage

See the project’s repository for usage examples.

Components

In the following sections you can see a list of currently implemented components divided into groups: classifiers, feature selection algorithms and feature transformation algorithms. At the end you can also see a list of currently implemented fitness functions for the optimization process, categorical features’ encoders, and missing values’ imputers.

Classifiers

  • Adaptive Boosting (AdaBoost),

  • Bagging (Bagging),

  • Extremely Randomized Trees (ExtremelyRandomizedTrees),

  • Linear SVC (LinearSVC),

  • Multi Layer Perceptron (MultiLayerPerceptron),

  • Random Forest Classifier (RandomForest),

  • Decision Tree Classifier (DecisionTree),

  • K-Neighbors Classifier (KNeighbors),

  • Gaussian Process Classifier (GaussianProcess),

  • Gaussian Naive Bayes (GaussianNB),

  • Quadratic Discriminant Analysis (QuadraticDiscriminantAnalysis).

Feature Selection Algorithms

  • Select K Best (SelectKBest),

  • Select Percentile (SelectPercentile),

  • Variance Threshold (VarianceThreshold).

Nature-Inspired

  • Bat Algorithm (BatAlgorithm),

  • Differential Evolution (DifferentialEvolution),

  • Self-Adaptive Differential Evolution (jDEFSTH),

  • Grey Wolf Optimizer (GreyWolfOptimizer),

  • Particle Swarm Optimization (ParticleSwarmOptimization).

Feature Transformation Algorithms

  • Normalizer (Normalizer),

  • Standard Scaler (StandardScaler),

  • Maximum Absolute Scaler (MaxAbsScaler),

  • Quantile Transformer (QuantileTransformer),

  • Robust Scaler (RobustScaler).

Fitness Functions based on

  • Accuracy (Accuracy),

  • Cohen’s kappa (CohenKappa),

  • F1-Score (F1),

  • Precision (Precision).

Categorical Feature Encoders

  • One-Hot Encoder (OneHotEncoder).

Feature Imputers

  • Simple Imputer (SimpleImputer).

Licence

This package is distributed under the MIT License. This license can be found online at http://www.opensource.org/licenses/MIT.

Disclaimer

This framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!

References

[1] Iztok Fister Jr., Milan Zorman, Dušan Fister, Iztok Fister. Continuous optimizers for automatic design and evaluation of classification pipelines. In: Frontier applications of nature inspired computation. Springer tracts in nature-inspired computing, pp.281-301, 2020.

Metadata

Release files for NiaAML 1.1.1

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

Source distribution (sdist)

Source distribution for NiaAML 1.1.1
File Size Uploaded
NiaAML-1.1.1.tar.gz 42.7 kB Details

Built distribution (wheel)

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

Total release size: 142.2 kB

Release files / NiaAML-1.1.1.tar.gz

Download URL NiaAML-1.1.1.tar.gz
Size 42.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d699ca1804fe7329bcd747a1dd5fc9d9dac77cfe85ba8caa57c4f96db5de14e0
BLAKE2b-256 checksum
How to use checksums
05914e88d0a0b059dfc5194b47e999f911933d93c3f89e2c3492b4e451e6475e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.9.1 Windows/10

Release files / NiaAML-1.1.1-py3-none-any.whl

Download URL NiaAML-1.1.1-py3-none-any.whl
Size 99.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0bffaffcdda1d9e2ee6f01cd491d374cec1f5a1edc72c38fdb59189f4ab1bb59
BLAKE2b-256 checksum
How to use checksums
57f9fd75b5090e55950cbe08c10d94bcae5dcd3bfa531894583c4567a36df95f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.9.1 Windows/10
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