Skip to main content

Amplo - AutoML (for Machine Data)

image PyPI - License

Welcome to the Automated Machine Learning package amplo. Amplo's AutoML is designed specifically for machine data and works very well with tabular time series data (especially unbalanced classification!).

Though this is a standalone Python package, Amplo's AutoML is also available on Amplo's Smart Maintenance Platform. With a graphical user interface and various data connectors, it is the ideal place for service engineers to get started on Predictive.

Amplo's AutoML Pipeline contains the entire Machine Learning development cycle, including exploratory data analysis, data cleaning, feature extraction, feature selection, model selection, hyperparameter optimization, stacking, version control, production-ready models and documentation. It comes with additional tools such as interval analysers, drift detectors, data quality checks, etc.

1. Downloading Amplo

The easiest way is to install our Python package through PyPi:

pip install amplo

2. Usage

Usage is very simple with Amplo's AutoML Pipeline.

from amplo import Pipeline
from sklearn.datasets import make_classification
from sklearn.datasets import make_regression

x, y = make_classification()
pipeline = Pipeline()
pipeline.fit(x, y)
yp = pipeline.predict_proba(x)

x, y = make_regression()
pipeline = Pipeline()
pipeline.fit(x, y)
yp = pipeline.predict(x)

3. Amplo AutoML Features

Interval Analyser

from amplo.automl import IntervalAnalyser

Interval Analyser for Log file classification. When log files have to be classified, and there is not enough data for time series methods (such as LSTMs, ROCKET or Weasel, Boss, etc.), one needs to fall back to classical machine learning models which work better with lower samples. This raises the problem of which samples to classify. You shouldn't just simply classify on every sample and accumulate, that may greatly disrupt classification performance. Therefore, we introduce this interval analyser. By using an approximate K-Nearest Neighbors algorithm, one can estimate the strength of correlation for every sample inside a log. Using this allows for better interval selection for classical machine learning models.

To use this interval analyser, make sure that your logs are located in a folder of their class, with one parent folder with all classes, e.g.:

+-- Parent Folder
|   +-- Class_1
|       +-- Log_1.*
|       +-- Log_2.*
|   +-- Class_2
|       +-- Log_3.*

Data Processing

from amplo.automl import DataProcessor

Automated Data Cleaning:

  • Infers & converts data types (integer, floats, categorical, datetime)
  • Reformats column names
  • Removes duplicates columns and rows
  • Handles missing values by:
    • Removing columns
    • Removing rows
    • Interpolating
    • Filling with zero's
  • Removes outliers using:
    • Clipping
    • Z-score
    • Quantiles
  • Removes constant columns

Feature Processing

from amplo.automl import FeatureProcessor

Automatically extracts and selects features. Removes Co-Linear Features. Included Feature Extraction algorithms:

  • Multiplicative Features
  • Dividing Features
  • Additive Features
  • Subtractive Features
  • Trigonometric Features
  • K-Means Features
  • Lagged Features
  • Differencing Features
  • Inverse Features
  • Datetime Features

Included Feature Selection algorithms:

  • Random Forest Feature Importance (Threshold and Increment)
  • Predictive Power Score

Sequencing

from amplo.automl import Sequencer

For time series regression problems, it is often useful to include multiple previous samples instead of just the latest. This class sequences the data, based on which time steps you want included in the in- and output. This is also very useful when working with tensors, as a tensor can be returned which directly fits into a Recurrent Neural Network.

Modelling

from amplo.automl import Modeller

Runs various regression or classification models. Includes:

  • Scikit's Linear Model
  • Scikit's Random Forest
  • Scikit's Bagging
  • Scikit's GradientBoosting
  • Scikit's HistGradientBoosting
  • DMLC's XGBoost
  • Catboost's Catboost
  • Microsoft's LightGBM
  • Stacking Models

Grid Search

from amplo.grid_search import OptunaGridSearch

Contains three hyperparameter optimizers with extended predefined model parameters:

  • Optuna's Tree-Parzen-Estimator

Metadata

Release files for Amplo 0.17.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 Amplo 0.17.0
File Size Uploaded Provenance Actions
Amplo-0.17.0.tar.gz 104.3 kB Without provenance Details for Amplo-0.17.0.tar.gz

Built distribution (wheel)

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

Total release size: 246.7 kB

Release files / Amplo-0.17.0.tar.gz

Download URL Amplo-0.17.0.tar.gz
Size 104.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f3744b62d5e2db979b05040af6db4b09e86cbd2d37652c9449f8a9ed1ce74c26
BLAKE2b-256 checksum
How to use checksums
4a40f178bed9ff3276ccb073ca265efd1672b8901bcb6a16dedd489f8ebf1e84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release files / Amplo-0.17.0-py3-none-any.whl

Download URL Amplo-0.17.0-py3-none-any.whl
Size 142.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6e9d48334c7bd15a82ede285eaff2abd9da3525bf9c31662c5e2ef245ce29178
BLAKE2b-256 checksum
How to use checksums
b21ee275dd209307eed109637a6f1d642eb7685be4d51d6e0a766856ca9dbbeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Security for Amplo 0.17.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.17.0 This release

2 release files No provenance

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