**Multi-Agent Accelerator for Data Science (MAADS)**
*Revolutionizing Data Science with Artificial Intelligence*
**Overview**
*MAADS combines Artificial Intelligence, Machine Learning and Natural Language Processing (with data engineering task automation) in one easy to use library, that allows clients to connect to the MAADS server located anywhere in the world and perform advanced analytics and embed intelligence in their organization seamlessly and fast!*
This library allows users to harness the power of agent-based computing using hundreds of advanced linear and non-linear algorithms. Users can easily integrate Predictive Analytics in any solution by wrapping additional code around the functions below. The system can:
- Automatically analyse your data and perform feature selection to determine which variables are more important than others.
- Automatically model your data for seasonality *Winter, Shoulder, and Summer seasons.*
- Automatically clean your data for outliers.
- Automatically make predictions using the BEST algorithm (out of hundreds of advanced algorithms) that best model your data.
- Perform *Natural Language Processing (NLP)* on large amounts of text data - and get MAADS to summarize the text or apply deep learning for predictive outcomes.
For example, you can tell it to scrape a website, read a PDF, or text data and it will
return a concise summary. This summary can be used to refine your modeling and give users
an integrated view of their business from a TEXT and ADVANCED ANALYTIC perspective.
Or, apply machine learning to text data for deeper insights - such as analysing
help desk tickets and uncovering issues before they occur. Or, apply deep learning
to security logs and uncover more anomalies or threats in your networks.
- Do all this in minutes.
To install this library a request should be made to **[email protected]** for a username and password. Once you have these credentials then install this Python library.
**Compatibility**
- Python 3.5 or greater
- Minimal Python skills needed
**License**
- Author: Sebastian Maurice, PhD
- OTICS Advanced Analytics Inc.
**Installation**
- At the command prompt write:
**pip install maads**
- This assumes you have [Downloaded Python](https://www.python.org/downloads/) and installed it on your computer.
**Syntax**
- There are literally two lines of code you need to write to train your data and make predictions:
**Main functions:**
- **dotraining**
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.
- **dopredictions**
After training, make high quality predictions - takes 1-2 seconds.
- **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. Using the **maadshyperpredictions.CLASS** file, java apps can call the MAADS prediction server to return predictions very fast. Other apps, using **any** other language, can also call the MAADS prediction server using standard TCP/IP client/server communication protocols: This gives MAADS users' the maximum flexibility to integrate MAADS predictions in any solution!
**Support functions:**
- **dolistkeys**
- List all of the keys associated with the data you have analysed.
- **dolistkeyswithkey**
- List data associated with a single key.
- **dodeletewithkey**
- Permanently delete all data associated with your key.
- **returndata**
- Returns data from the string buffer.
- **getpicklezip**
- Automatically downloads a ZIP file containing the optimal algorithms. Users can modify the parameter estimates as they wish.
- **sendpicklezip**
- Automatically upload a ZIP file containing the optimal algorithms to MAADS. The optimal algorithms will immediately take effect for predictions.
- **deploytoprod**
- Automatically deploy the optimal algorithms to another MAADS server (i.e. production); MAADS will read the ZIP file, extract the algorithms and make all database updates. This function is useful when your MAADS training server(s) and MAADS prediction server(s) are separate. A powerful way to integrate MAADS in a distributed architecture is to automatically train your data, then deploy the optimal algorithms to some other server for predictions. This is a great way to scale your analytics in a large (global) entreprise setting, seamlessly and fast, with MAADS!
- **algoinfo**
- Get detailed information on the algorithm and other information.
- **genpdf**
- Retrieve the PDF containing all of the detailed information on the algorithm and other information like model explanation and feature selection, etc.
- **featureselectionjson**
- Returns JSON collection of feature selection results for easier programmatic manipulation. Use dotraining feature selection switch to return a CSV file of
feature selections.
**Natural Language Processing (NLP):**
- **nlp**
- Automatically perform NLP to summarize large amounts of text data. Specifically, there are three data sources one can use:
- **Website URL:** you can pass a URL to the NLP function and it will automatically scrape the site and return a summary of the text.
- **PDF:** Send a PDF to be summarized.
- **Text:** Paste text to be summarized.
- This allows users to integrate NLP in unique and powerful ways with advanced analytics.
- **nlpclassify**
- Automatically apply machine learning to predict outcomes from text data. Specifically, MAADS will:
- Preprocess text data and convert it to numeric vectors using over 50 Billion words to vector mappings plus custom mappings specific to your trained model
- Clean your text data by removing strange characters, punctuations, common words, lemmatize the words, etc..
- Convert the dependent category variable to labels. Maximum of 11 unique categories are accepted.
- If dependent variable is not categorical, you can tell MAADS not to convert the dependent variable. This means you can regress TEXT data on NUMERIC data!
- This function allows users to integrate NLP in unique and powerful ways with advanced analytics to text based systems like Help Desk or security platforms.
**First import the Python library.**
**import maads**
1. **maads.dotraining(CSV_local_file, username, password, feature_analysis, remove_outliers, has_seasonality, dependent_variable, your_company_name, your_email,maadsurl,summer,winter,shoulder,trainingpercentage,retrainingdays,retraindeploy,shuffle)**
**Parameters:**
*CSV_local_file* : string, required
- A local comma-separated-file (csv) with Date in the first column. Date must be MM/DD/YYYY format.
- All other data must be numbers.
*username* : string, required
- A username issued by the system administrator.
*password* : string, required
- A password issued by the system administrator.
*feature_analysis* : int, required, 1 or 0
- If 1, then a feature analysis will be done on your data along with training. If 0, no analysis is done. If -1, features will be generated, and downloaded to your local computer folder WITHOUT training.
*remove_outliers* : int, required, 1 or 0
- If 1, then outliers will be removed from your data. If 0, no outliers are removed.
*has_seasonality* : int, required, 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.
*dependent_variable* : string, require