Package: ngautonml
ngAutonMLngAutonMLThengAutonMLproject 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 theD3Mproject run by DARPA. It is a reimplementation of many concepts used in that project, and is currently under heavy development.InstallationAt this time, the only installation available is via cloning the repository on GitLab:git clone git@gitlab.com:autonlab/ngautonml.gitAs 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-namengAutonML is designed to run on Python 3.9 and above.Arequirements.txtfile is provided to install necessary libraries. Use:pip install -r requirements.txtIn addition, if you are a developer, installrequirements-dev.txt, which contains linters that code must be fully compliant with:pip install -r requirements-dev.txtUsageTo use the current ngAutonML, you need a Problem Definition(explained later) to activate with:python picard.py wrangle -d <path to problem definition>Problem DefinitionsThe 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 theexamples/problem_definitiondirectory 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 thetrain_pathpointing to the training dataset(in csv format) and thetargetfield defining which column will be predicted. For those datasets that have a test to run, thetest_pathis also provided hereproblem_type: This uses the subfields ofdata_typeto tell the type of dataset, and thetaskto 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.SupportCurrently all issues should be generated via the GitLab Issue Tracker.RoadmapIn Development:Support for external models such as Docker Containers or LLM servicesCode generation for insertion into your own projects or for low-level customizationAPI supportContributingIf 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 acknowledgmentThe CMU AutonML Development Team:Piggy Yarroll (programmer/architect)Andrew Williams (programmer)Merritt Kowaleski (programmer)Mujing Wang (programmer)Carter Weaver (programmer)Jeishi Chen (data scientist)LicenseThis project is currently licensed under the Apache 2.0 license.