Skip to main content

Automated Machine Learning Pipeline Generation

Project description

ngAutonML

ngAutonML

The ngAutonML project is an Automated Machine Learning solution intended to make it much easier to find good solutions to common machine learning problems, or to aid in prototyping a more complex solution. It aims to be simple to use for the bulk of machine learning problems, but maintains a high level of customizability for those situations that require more specific setups by more experiences machine learning professionals.

This project is the result of research performed as part of the D3M project run by DARPA. It is a reimplementation of many concepts used in that project, and is currently under heavy development.

Installation

At this time, the only installation available is via cloning the repository on GitLab:

git clone git@gitlab.com:autonlab/ngautonml.git

As the project leaves Alpha stage, a Pypi package will be posted for easy installation.

It is recommended to create a virtual environment to run ngautonml. To do so with conda, run:

conda create -n env-name python=3.9
conda activate env-name

ngAutonML is designed to run on Python 3.9 and above.

A requirements.txt file is provided to install necessary libraries. Use:

pip install -r requirements.txt

In addition, if you are a developer, install requirements-dev.txt, which contains linters that code must be fully compliant with:

pip install -r requirements-dev.txt

Usage

To use the current ngAutonML, you need a Problem Definition(explained later) to activate with:

python picard.py wrangle -d <path to problem definition>

Problem Definitions

The problem definition file is a JSON file that describes the dataset being used, and how it should be handled, in a simplified level that requires only minimal knowledge of machine learning. Examples can be found in the examples/problem_definition directory under the project, but in brief the important aspects are the following fields:

  • metrics: This field defines the scoring metric(s) that the Auto ML will use to determine fitness. At this time there is little documentation on what all the metrics require for parameters.
  • dataset: This field is required, with the two major subfields being the train_path pointing to the training dataset(in csv format) and the target field defining which column will be predicted. For those datasets that have a test to run, the test_path is also provided here
  • problem_type: This uses the subfields of data_type to tell the type of dataset, and the task to determine how the dataset will be handled, such as a classification or forecasting problem. The full documentation will have a set of possible tasks and how to identify which problem your data falls into.

Support

Currently all issues should be generated via the GitLab Issue Tracker.

Roadmap

In Development:

  • Support for external models such as Docker Containers or LLM services
  • Code generation for insertion into your own projects or for low-level customization
  • API support

Contributing

If forking and wanting to contribute, please ensure PEP8 Compliance. The current project uses flake8, mypy, and pylint for code compliance, with the exception of setting the maximum line length to 100 characters.

Authors and acknowledgment

The CMU AutonML Development Team:

Piggy Yarroll (programmer/architect)
Andrew Williams (programmer)
Merritt Kowaleski (programmer)
Mujing Wang (programmer)
Carter Weaver (programmer)
Jeishi Chen (data scientist)

License

This project is currently licensed under the Apache 2.0 license.

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

ngautonml-0.4.1a14.tar.gz (160.2 kB view details)

Uploaded Source

Built Distribution

ngautonml-0.4.1a14-py3-none-any.whl (261.7 kB view details)

Uploaded Python 3

File details

Details for the file ngautonml-0.4.1a14.tar.gz.

File metadata

  • Download URL: ngautonml-0.4.1a14.tar.gz
  • Upload date:
  • Size: 160.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.16 Linux/5.14.0-162.22.2.el9_1.x86_64

File hashes

Hashes for ngautonml-0.4.1a14.tar.gz
Algorithm Hash digest
SHA256 70b298f4f149eb0abb675d96604b97217fa889d1c10fe1dd8dec5439af0a2222
MD5 50f53cdb31e402ad2570eda3a22a6bf3
BLAKE2b-256 67186293230c58869cb66a57693b065bc70fc10d6a25ca387d073f84cc9070cc

See more details on using hashes here.

File details

Details for the file ngautonml-0.4.1a14-py3-none-any.whl.

File metadata

  • Download URL: ngautonml-0.4.1a14-py3-none-any.whl
  • Upload date:
  • Size: 261.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.16 Linux/5.14.0-162.22.2.el9_1.x86_64

File hashes

Hashes for ngautonml-0.4.1a14-py3-none-any.whl
Algorithm Hash digest
SHA256 992e978a5d37a67f62a2e34490f41b01d02dec2a77fa524a89487d4f83c44c54
MD5 7d8916dccc75caa9738ce80af965561c
BLAKE2b-256 ebe83891d1ac3c005e8f6465b8900d8208c059fc4f8734446b8d1cd8302eb009

See more details on using hashes here.

Supported by

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