Skip to main content

Multi-Agent Accelerator for Data Science (MAADS) Batch AutoML (MAADSBML)

Project description

**Multi-Agent Accelerator for Data Science: Batch AutoML (MAADSBML)

Revolutionizing Data Science with Artificial Intelligence

Overview

*MAADSBML combines Artificial Intelligence, Docker, Machine Learning. It automates the machine learning process, and finds the BEST algorithm for your data. It also produces a very detailed PDF report. MAADSBML is integrated with Docker Container.

This library allows users to harness the power of agent-based computing using hundreds of advanced linear and non-linear algorithms.

FOR MORE INFORMATION GO TO: https://maadsbml.readthedocs.io/en/latest/

Compatibility - Python 3.8 or greater - Minimal Python skills needed

Copyright

  • Author: Sebastian Maurice, PhD

Installation

  • At the command prompt write: pip install maadsbml
    • This assumes you have Downloaded Python and installed it on your computer.
    • You will also need to pull the MAADSBML Docker container: maadsdocker/maads-batch-automl-otics

Syntax

  • There are literally two lines of code you need to write to train your data and make predictions:

Main functions:

  • hypertraining Executes hundreds of agents, running hundreds of advanced algorithms and completes in minutes. A master agent then chooses the BEST algorithm that best models your data.
  • hyperpredictions After training, make high quality predictions - takes less than half a second (about ~100 milliseconds). Users can also generate predictions using non-python code such as JAVA.
  • algodescription Get detailed information on the optimal algorithm found during hypertraining
  • abort Abort the training process.
  • rundemo To run canned demo of the system to see how it works.
  • finddistribution Finds the best distribution for your continuous data

First import the Python library.

import maadsbml

  1. maadsbml.hypertraining(host,port,filename,dependentvariable,removeoutliers=0,hasseasonality=0,summer='6,7,8',winter='11,12,1,2',shoulder='3,4,5,9,10', trainingpercentage=70,shuffle=0,deepanalysis=0,username='admin',timeout=1200,company='otics',password='123',email='support@otics.ca',usereverseproxy=0, microserviceid='',maadstoken='123',mode=0)

Parameters:

host : string, required

  • This is the IP address of the running Docker container - it is usually http://localhost

port : int, required

  • This is the TRAINING PORT in the container. The default is port==5595

filename : string, required

  • This is the raw data file in csv format - Note this file is stored on your host machine - the DOCKER container needs to be mapped to this volume using -v

dependentvariable : string, required

  • This is the dependent variable in your csv file.

removeoutliers : int, optional, 1 or 0

  • If 1, then outliers will be removed from your data. If 0, no outliers are removed.

hasseasonality : int, optional, 1 or 0

  • If 1, then your data will be modeled for seasonality: Winter, Summer, Shoulder. If 0, then your data will not be modeled for seasonality. If modeling for seasonality, ensure you have enough data points that covers the seasons, usually 1 year of data.

summer : string, optional

  • Definition for summer months. This can be changed.

winter : string, optional

  • Definition for winter months. This can be changed.

shoulder : string, optional

  • Definition for shoulder months. This can be changed.

trainingpercentage : int, optional, Default=70

  • This is the split percentage between Training and Test data sets. It is defaulted to 70 (70% for training, 30% test).

shuffle : number, 0 or 1, optional

  • Indicates whether to shuffle the training dataset or not, default=0.

deepanalysis : int, optional

  • This will force MAADSBML to perform deeper analysis on your data. This could take 30-40 minutes. Set to 1 for deepanalysis, 0 for no deep analysis.

username : string, optional

  • This identifies a user. You may want to change this if multiple users are running the same file.

company : string, optional

  • This identifies your company. You may want to change this for the Report.

timeout : int, optional

  • You can increase this if you receive a timeout error before the training is taking too long. The setting is in seconds.

password : string, optional

  • leave as is

email : string, optional

  • leave as is

usereverseproxy : int, optional

  • leave as is

microserviceid : string, optional

  • leave as is if not using a pass through service.

mode : int, optional

  • leave as is

maadstoken : string, optional

  • leave as is

Returns: string JSON buffer, with the algorithm key (PKEY) and other details:

  • PKEY: : This is the key to the BEST algorithm and must be used when making predictions.

2. maadsbml.hyperpredictions(pkey,theinputdata,host,port,username,algoname='',seasonname='',usereverseproxy=0,microserviceid='',password='123',company='otics', email='support@otics.ca',maadstoken='123')

Parameters:

pkey : string, required

  • This is the PKEY you received from the hypertraining function.

theinputdata : string, required

  • These are the Xs for your model: For example if my model had 3 Xs then inputdata='5/21/2010,-14.3,-32.0,-12.0', with the first entry as Date: Date must be in the format: MM/DD/YYYY

host : string, required

  • This is the IP address of the running Docker container - it is usually http://localhost

port : int, required

  • This is the PREDICTION PORT in the container. The default is port==5495 (or 5595)

username : string, required

  • The username you used in the hypertraining functions. Default is admin.

algoname : string, optional

  • Enter the name of the algorithm to use, this can be retrieved from the hypertraining function. If this is empty, the BEST algorithm will be used by default.

seasonname : string, optional

  • Enter the season to use (winter,summer,shoulder), this can be retrieved from the hypertraining function. If this is empty, the default season is used.

usereverseproxy : int, optional

  • leave as is

microserviceid : int, optional

  • leave as is

password : string, optional

  • leave as is

company : string, optional

  • change for reporting.

email : string, optional

  • leave as is

maadstoken : string, optional

  • leave as is

Returns: string buffer containing the prediction, and other details.

3. maadsbml.abort(host,port=10000)

Parameters:

host : string, required

port : string, optional

  • Port is fixed at 10000

Returns: Abort will shutdown and re-start your system.

4. maadsbml.rundemo(host,port,demotype=1,timeout=1200,usereverseproxy=0,microserviceid='')

Parameters:

host : string, required

port : string, required

  • This is the TRAININGPORT, it is usually 5595.

demotype : int, required

  • If demotype is 1, then a regression models is run; if demotype is 0 then a classification model is run.

timeout : int, optional

  • The connection timeout between Python and the container, in seconds

usereverseproxy : int, optional

  • leave as is

microserviceid : string, optional

  • leave as is

Returns: null

5. maadsbml.algodescription(host,port,pkey,timeout=300,usereverseproxy=0,microserviceid='')

Parameters:

host : string, required

port : string, required

  • This is the TRAININGPORT, it is usually 5595.

pkey : string, required

  • This is the PKEY from hypertraining.

timeout : int, optional

  • The connection timeout between Python and the container, in seconds

usereverseproxy : int, optional

  • leave as is

microserviceid : string, optional

  • leave as is

Returns: null

6. maadsbml.finddistribution(filename,varname,dataarray=[],folderpath='',imgname='distimage',common=1,topdist=5)

Parameters:

filename : string, required

  • Filename containing the raw data. This must be a CSV file.

varname : string, required

  • Name of the variable for your data.

dataarray : array_like, optional

  • Numpy array. Rather than pass a filename, you can pass in an array.

folderpath : string, optional

  • Folder path to store the output data, and distribution image file.

imgname : string, optional

  • Name of the image and json data.

common : int, optional

  • If set to 1, this will apply common distributions to your data.

    If Set to 0, it will iterate through roughly 80 distributions.

topdist : int, optional

  • The number of the TOP distributions to print.

Returns: status,dist dataframe,name of best distribution,all JSON data

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

maadsbml-1.3.20.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

maadsbml-1.3.20-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file maadsbml-1.3.20.tar.gz.

File metadata

  • Download URL: maadsbml-1.3.20.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for maadsbml-1.3.20.tar.gz
Algorithm Hash digest
SHA256 a4566ae75d17302f15fda6e964a24d9a30105ba9473f83f41b91217dce997ae2
MD5 e6d6bd671a6017be7eba200ea55d7948
BLAKE2b-256 07c68c4550ec3d9e78160f080e0ce7c81c80acd883e4ee1a510a51f8c80cb276

See more details on using hashes here.

File details

Details for the file maadsbml-1.3.20-py3-none-any.whl.

File metadata

  • Download URL: maadsbml-1.3.20-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for maadsbml-1.3.20-py3-none-any.whl
Algorithm Hash digest
SHA256 e5fc7a41509e6fbaa349766e13961059f18d0a84a9455a95eac4e5a059b9164f
MD5 3f2b8743e7e338e9b14d1b5144039e74
BLAKE2b-256 32d2077f6e9602e7809505a55c8fcb35372e82fabb3e99a8c7d84e7ba14471b0

See more details on using hashes here.

Supported by

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