Python automated machine learning framework.
Project description
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 currently supports only numeric features on the input. However, we are planning to add support for categorical features too.
Installation
Install NiaAML with pip:
pip install niaaml
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.
Classifiers
Adaptive Boosting (AdaBoost),
Bagging (Bagging),
Extremely Randomized Trees (ExtremelyRandomizedTrees),
Linear SVC (LinearSVC),
Multi Layer Perceptron (MultiLayerPerceptron),
Random Forest Classifier (RandomForestClassifier).
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).
Fitness Functions
Accuracy (Accuracy),
Cohen’s kappa (CohenKappa),
F1-Score (F1),
Precision (Precision).
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.
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
File details
Details for the file niaaml-0.1.2a1.tar.gz
.
File metadata
- Download URL: niaaml-0.1.2a1.tar.gz
- Upload date:
- Size: 31.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.8.0 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a52a85614454681569d4a37ad0a2f8d46096c4db469a6a3779d9789fbf6f301b |
|
MD5 | 8978fe2b569e649bc1baba63e55e74f1 |
|
BLAKE2b-256 | be8ce7d68cc332201d89d7de735c1abfaa585e74f5ed821e8bbb3991992d70bc |
File details
Details for the file NiaAML-0.1.2a1-py3-none-any.whl
.
File metadata
- Download URL: NiaAML-0.1.2a1-py3-none-any.whl
- Upload date:
- Size: 67.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.8.0 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 894edc8a3d85c53d404c084eab1c44b552116d6dbdb1fa85fdfe7d7a7481f5ac |
|
MD5 | 8132e2a73d036ac33cec4d1e9ad8c57b |
|
BLAKE2b-256 | baa5636c3e4f77f83d0faa4f4e23a1dca71b3321bd4d36fbf6ce8c3484ef02c1 |