This release is a pre-release and may not be stable for production use.
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
It is recommended to create a virtual environment to run ngautonml. To do so with conda, run:
conda create -n env-name python=3.10
conda activate env-name
To install from pypi, use:
pip install ngautonml
ngAutonML is designed to run on Python 3.10 and above.
To install from this repository, use poetry:
pip install poetry
poetry install
If you are a developer, install the dev dependency group as well:
poetry install --with dev
This includes linters that code must be compliant with.
Usage
To use ngAutonML from the command line, you need to provide a problem definition (see below). Run:
python picard.py wrangle -d <path to problem definition>
The problem definition is a JSON file that describes the machine learning problem you wish ngAutonML to tackle. A simple problem definition might look like:
{
"dataset" : {
"config" : "memory",
"params" : {
"train_data": "train",
"test_data": "test"
},
"column_roles": {
"target": {
"name": "target"
}
}
},
"problem_type" : {
"data_type": "tabular",
"task": "binary_classification"
},
"metrics" : {
"accuracy_score": {},
"roc_auc_score": {}
}
}
Examples can be found in the examples directory, but in brief the important aspects are the following fields:
- dataset: The dataset that the algorithms are being run on. There are serveral data loaders that can load data from different sources.
- problem_type: This uses the subfields of
data_typeto tell the type of dataset, and thetaskto determine how the dataset will be handled, such as a classification or forecasting problem. - metrics: This field defines the scoring metric(s) that ngAutonML will use to evaluate algorithms.
For more information, see our documentation
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.
Release files for ngautonml 0.5.0b8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ngautonml-0.5.0b8.tar.gz | 308.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ngautonml-0.5.0b8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:813.1 kB
Release files / ngautonml-0.5.0b8.tar.gz
| Download URL | ngautonml-0.5.0b8.tar.gz |
|---|---|
| Size | 308.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
45d6ce11d1539a101bf575eb8adf55576d5133a93efd43fa464a6878aff5258f
|
|
BLAKE2b-256 checksum How to use checksums |
dc3c704948db6c9606d3f869fb26534424d3af5d3d2d147b2ef30bbfea2f0099
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.10.17 Linux/5.15.154+
|
Release files / ngautonml-0.5.0b8-py3-none-any.whl
| Download URL | ngautonml-0.5.0b8-py3-none-any.whl |
|---|---|
| Size | 504.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c4464c947c437ae62333231cd73d8a1330bd924cbadb59acea121f04b051d240
|
|
BLAKE2b-256 checksum How to use checksums |
abb26595013384de0825d6af7e10714f1cff7129e79686e2df9f1fec08446821
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.10.17 Linux/5.15.154+
|