From cedf8ef8384f0584f9068a110ceb14e86795fd44 Mon Sep 17 00:00:00 2001 From: Sheri Gilley Date: Fri, 21 Sep 2018 22:48:28 -0500 Subject: [PATCH] updates --- automl/README.md | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/automl/README.md b/automl/README.md index 75ac7bea..c93ccf41 100644 --- a/automl/README.md +++ b/automl/README.md @@ -2,19 +2,21 @@ 1. [Automated ML Introduction](#introduction) 1. [Running samples in Azure Notebooks](#jupyter) 1. [Running samples in a Local Conda environment](#localconda) -1. [Auto ML SDK Sample Notebooks](#samples) +1. [Automated ML SDK Sample Notebooks](#samples) 1. [Documentation](#documentation) 1. [Running using python command](#pythoncommand) 1. [Troubleshooting](#troubleshooting) -# Automated ML introduction + +# Automated ML introduction Automated machine learning (automated ML) builds high quality machine learning models for you by automating model and hyperparameter selection. Bring a labelled dataset that you want to build a model for, automated ML will give you a high quality machine learning model that you can use for predictions. If you are new to Data Science, automated ML will help you get jumpstarted by simplifying machine learning model building. It abstracts you from needing to perform model selection, hyperparameter selection and in one step creates a high quality trained model for you to use. If you are an experienced data scientist, automated ML will help increase your productivity by intelligently performing the model and hyperparameter selection for your training and generates high quality models much quicker than manually specifying several combinations of the parameters and running training jobs. automated ML provides visibility and access to all the training jobs and the performance characteristics of the models to help you further tune the pipeline if you desire. -## Running samples in Azure Notebooks - Jupyter based notebooks in the Azure cloud + +## Running samples in Azure Notebooks - Jupyter based notebooks in the Azure cloud 1. [![Azure Notebooks](https://notebooks.azure.com/launch.png)](https://aka.ms/aml-clone-azure-notebooks) [Import sample notebooks ](https://aka.ms/aml-clone-azure-notebooks) into Azure Notebooks if they are not already there. @@ -27,7 +29,8 @@ If you are an experienced data scientist, automated ML will help increase your p ![set kernal to Python 3.6](../images/python36.png) -## Running samples in a Local Conda environment + +## Running samples in a Local Conda environment To run these notebook on your own notebook server, use these installation instructions. @@ -73,7 +76,8 @@ automl_setup_linux.sh - Please make sure you use the Python [conda env:azure_automl] kernel when trying the sample Notebooks. - Follow the instructions in the individual notebooks to explore various features in automated ML -# Auto ML SDK Sample Notebooks + +# Automated ML SDK Sample Notebooks - [00.configuration.ipynb](00.configuration.ipynb) - Register Machine Learning Services Resource Provider - Create new Azure ML Workspace @@ -100,7 +104,7 @@ automl_setup_linux.sh - [03b.auto-ml-remote-batchai.ipynb](03b.auto-ml-remote-batchai.ipynb) - Dataset: scikit learn's [digit dataset](http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_digits.html#sklearn.datasets.load_digits) - - Example of using Auto ML for classification using a remote Batch AI compute for training + - Example of using automated ML for classification using a remote Batch AI compute for training - Parallel execution of iterations - Async tracking of progress - Cancelling individual iterations or entire run @@ -156,14 +160,15 @@ automl_setup_linux.sh - [13.auto-ml-dataprep.ipynb](13.auto-ml-dataprep.ipynb) - Using DataPrep for reading data - -# Documentation + +# Documentation ## Table of Contents 1. [Automated ML Settings ](#automlsettings) 2. [Cross validation split options](#cvsplits) 3. [Get Data Syntax](#getdata) -## Automated ML Settings + +## Automated ML Settings |Property|Description|Default| |-|-|-| |**primary_metric**|This is the metric that you want to optimize.

Classification supports the following primary metrics
accuracy
AUC_weighted
balanced_accuracy
average_precision_score_weighted
precision_score_weighted

Regression supports the following primary metrics
spearman_correlation
normalized_root_mean_squared_error
r2_score
normalized_mean_absolute_error
normalized_root_mean_squared_log_error| Classification: accuracy

Regression: spearman_correlation @@ -177,7 +182,8 @@ automl_setup_linux.sh |**exit_score**|*double* value indicating the target for *primary_metric*.
Once the target is surpassed the run terminates|None| |**blacklist_algos**|*Array* of *strings* indicating pipelines to ignore for Auto ML.

Allowed values for **Classification**
LogisticRegression
SGDClassifierWrapper
NBWrapper
BernoulliNB
SVCWrapper
LinearSVMWrapper
KNeighborsClassifier
DecisionTreeClassifier
RandomForestClassifier
ExtraTreesClassifier
gradient boosting
LightGBMClassifier

Allowed values for **Regression**
ElasticNet
GradientBoostingRegressor
DecisionTreeRegressor
KNeighborsRegressor
LassoLars
SGDRegressor
RandomForestRegressor
ExtraTreesRegressor|None| -## Cross validation split options + +## Cross validation split options ### K-Folds Cross Validation Use *n_cross_validations* setting to specify the number of cross validations. The training data set will be randomly split into *n_cross_validations* folds of equal size. During each cross validation round, one of the folds will be used for validation of the model trained on the remaining folds. This process repeats for *n_cross_validations* rounds until each fold is used once as validation set. Finally, the average scores accross all *n_cross_validations* rounds will be reported, and the corresponding model will be retrained on the whole training data set. @@ -187,7 +193,8 @@ Use *validation_size* to specify the percentage of the training data set that sh ### Custom train and validation set You can specify seperate train and validation set either through the get_data() or directly to the fit method. -## get_data() syntax + +## get_data() syntax The *get_data()* function can be used to return a dictionary with these values: |Key|Type|Dependency|Mutually Exclusive with|Description| @@ -203,7 +210,8 @@ The *get_data()* function can be used to return a dictionary with these values: |columns|Array of strings|data_train||*Optional* Whitelist of columns to use for features| |cv_splits_indices|Array of integers|data_train||*Optional* List of indexes to split the data for cross validation| -# Running using python command + +# Running using python command Jupyter notebook provides a File / Download as / Python (.py) option for saving the notebook as a Python file. You can then run this file using the python command. However, on Windows the file needs to be modified before it can be run. @@ -213,7 +221,8 @@ The following condition must be added to the main code in the file: The main code of the file must be indented so that it is under this condition. -# Troubleshooting + +# Troubleshooting ## Iterations fail and the log contains "MemoryError" This can be caused by insufficient memory on the DSVM. Automated ML loads all training data into memory. So, the available memory should be more than the training data size. If you are using a remote DSVM, memory is needed for each concurrent iteration. The concurrent_iterations setting specifies the maximum concurrent iterations. For example, if the training data size is 8Gb and concurrent_iterations is set to 10, the minimum memory required is at least 80Gb.