Skip to content

Commit

Permalink
Updating articles for freshness
Browse files Browse the repository at this point in the history
  • Loading branch information
garyericson committed Dec 12, 2016
1 parent 745a00c commit 9e738c4
Show file tree
Hide file tree
Showing 14 changed files with 119 additions and 108 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ms.workload: data-services
ms.tgt_pltfrm: na
ms.devlang: na
ms.topic: article
ms.date: 08/19/2016
ms.date: 12/12/2016
ms.author: garye

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ ms.workload: data-services
ms.tgt_pltfrm: na
ms.devlang: na
ms.topic: article
ms.date: 08/09/2016
ms.date: 12/12/2016
ms.author: garye

---
Expand All @@ -38,18 +38,18 @@ Download and print the Machine Learning Algorithm Cheat Sheet in tabloid size to
>
## More help with algorithms
* For a deeper discussion of the different types of machine learning algorithms, how they're used, and how to use this cheat sheet for choosing the right algorithm, see [How to choose algorithms for Microsoft Azure Machine Learning](machine-learning-algorithm-choice.md).
* For help in using this cheat sheet for choosing the right algorithm, plus a deeper discussion of the different types of machine learning algorithms and how they're used, see [How to choose algorithms for Microsoft Azure Machine Learning](machine-learning-algorithm-choice.md).
* For a downloadable infographic that describes algorithms and provides examples, see [Downloadable Infographic: Machine learning basics with algorithm examples
](machine-learning-basics-infographic-with-algorithm-examples.md).
* For a list by category of all the machine learning algorithms available in Machine Learning Studio, see [Initialize Model][initialize-model] in the Machine Learning Studio Algorithm and Module Help.
* For a complete list of algorithms and modules in Machine Learning Studio, see [A-Z list of Machine Learning Studio modules][a-z-list] in Machine Learning Studio Algorithm and Module Help.
* For a complete alphabetical list of algorithms and modules in Machine Learning Studio, see [A-Z list of Machine Learning Studio modules][a-z-list] in Machine Learning Studio Algorithm and Module Help.
* To download and print a diagram that gives an overview of the capabilities of Machine Learning Studio, see [Overview diagram of Azure Machine Learning Studio capabilities](machine-learning-studio-overview-diagram.md).

[!INCLUDE [machine-learning-free-trial](../../includes/machine-learning-free-trial.md)]

<!-- This needs to be updated based on the new Choosing and Algorithm article
## Notes and terminology definitions for the machine learning algorithm cheat sheet

* The suggestions offered in this algorithm cheat sheet are approximate rules-of-thumb. Some can be bent, and some can be flagrantly violated. This is intended to suggest a starting point. Don’t be afraid run a head-to-head competition between several algorithms on your data. There is simply no substitute for understanding the principles of each algorithm and understanding the system that generated your data.
* The suggestions offered in this algorithm cheat sheet are approximate rules-of-thumb. Some can be bent, and some can be flagrantly violated. This is intended to suggest a starting point. Don’t be afraid to run a head-to-head competition between several algorithms on your data. There is simply no substitute for understanding the principles of each algorithm and understanding the system that generated your data.

* Every machine learning algorithm has its own style or *inductive bias*. For a specific problem, several algorithms may be appropriate and one algorithm may be a better fit than others. But knowing which will be the best fit beforehand is not always possible. In cases like these, several algorithms are listed together in the cheat sheet. An appropriate strategy would be to try one algorithm, and if the results are not yet satisfactory, try the others. Here’s an example from the [Cortana Intelligence Gallery](http://gallery.cortanaintelligence.com/) of an experiment that tries several algorithms against the same data and compares the results: [Compare Multi-class Classifiers: Letter recognition](http://gallery.cortanaintelligence.com/Details/a635502fc98b402a890efe21cec65b92).

Expand All @@ -73,9 +73,9 @@ Download and print the Machine Learning Algorithm Cheat Sheet in tabloid size to

-->

<!-- This is how you can add a link to the image in HTML. Don't know how to do this in markdown.
<!-- This is how you can embed a link in an image in HTML. Don't know how to do this in markdown.
<a href="http://download.microsoft.com/download/A/6/1/A613E11E-8F9C-424A-B99D-65344785C288/microsoft-machine-learning-algorithm-cheat-sheet.pdf">
<img src="C:\Users\garye\azure-content-pr\articles\media\machine-learning-algorithm-cheat-sheet\cheat-sheet-small.png">
<img src="C:\Users\garye\azure-docs-pr\articles\media\machine-learning-algorithm-cheat-sheet\cheat-sheet-small.png">
</a>
-->

Expand Down
12 changes: 10 additions & 2 deletions articles/machine-learning/machine-learning-algorithm-choice.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ ms.devlang: na
ms.topic: article
ms.tgt_pltfrm: na
ms.workload: data-services
ms.date: 08/09/2016
ms.date: 12/12/2016
ms.author: garye

---
# How to choose algorithms for Microsoft Azure Machine Learning
The answer to the question "What machine learning algorithm should I use?" is always "It depends." It depends on the size, quality, and nature of the data. It depends what you want to do with the answer. It depends on how the math of the algorithm was translated into instructions for the computer you are using. And it depends on how much time you have. Even the most experienced data scientists can't tell which algorithm will perform best before trying them.
The answer to the question "What machine learning algorithm should I use?" is always "It depends." It depends on the size, quality, and nature of the data. It depends on what you want to do with the answer. It depends on how the math of the algorithm was translated into instructions for the computer you are using. And it depends on how much time you have. Even the most experienced data scientists can't tell which algorithm will perform best before trying them.

## The Machine Learning Algorithm Cheat Sheet
The **Microsoft Azure Machine Learning Algorithm Cheat Sheet** helps you choose the right machine learning algorithm for your predictive analytics solutions from the Microsoft Azure Machine Learning library of algorithms.
Expand Down Expand Up @@ -437,6 +437,14 @@ learning curve on its interface. It's also available as [stand-alone
open source code](https://github.com/JohnLangford/vowpal_wabbit) in
several languages.

## More help with algorithms
* For a downloadable infographic that describes algorithms and provides examples, see [Downloadable Infographic: Machine learning basics with algorithm examples
](machine-learning-basics-infographic-with-algorithm-examples.md).
* For a list by category of all the machine learning algorithms available in Azure Machine Learning Studio, see [Initialize Model][initialize-model] in the Machine Learning Studio Algorithm and Module Help.
* For a complete alphabetical list of algorithms and modules in Azure Machine Learning Studio, see [A-Z list of Machine Learning Studio modules][a-z-list] in Machine Learning Studio Algorithm and Module Help.
* To download and print a diagram that gives an overview of the capabilities of Azure Machine Learning Studio, see [Overview diagram of Azure Machine Learning Studio capabilities](machine-learning-studio-overview-diagram.md).


<!-- Media -->

[1]: ./media/machine-learning-algorithm-choice/image1.png
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ms.workload: data-services
ms.tgt_pltfrm: na
ms.devlang: na
ms.topic: article
ms.date: 08/19/2016
ms.date: 12/12/2016
ms.author: mithal;garye

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,16 @@ ms.workload: data-services
ms.tgt_pltfrm: na
ms.devlang: na
ms.topic: article
ms.date: 08/19/2016
ms.date: 12/12/2016
ms.author: garye

---
# Downloadable Infographic: Machine learning basics with algorithm examples
Download this easy-to-understand infographic overview of machine learning basics. Learn about popular algorithms used to answer common machine learning questions. Algorithm examples help the machine learning beginner understand which algorithms to use and what they are used for.
Download this easy-to-understand infographic overview of machine learning basics to learn about popular algorithms used to answer common machine learning questions. Algorithm examples help the machine learning beginner understand which algorithms to use and what they're used for.

## Popular algorithms in Machine Learning Studio
[Azure Machine Learning Studio](https://studio.azureml.net/) comes with a large library of algorithms for predictive analytics. The infographic shows popular families of algorithms: **regression**, **anomaly detection**, **clustering**, and **classification**.

[Cortana Intelligence Gallery](https://gallery.cortanaintelligence.com/) shows how these algorithms can be applied in many real-world solutions. Follow links in the infographic to see working examples.
[Azure Machine Learning Studio](https://studio.azureml.net/) comes with a large library of algorithms for predictive analytics. The infographic identifies four popular families of algorithms - regression, anomaly detection, clustering, and classification - and provides links to working examples in the
[Cortana Intelligence Gallery](https://gallery.cortanaintelligence.com/). The Gallery contains example experiments and tutorials that demonstrate how these algorithms can be applied in many real-world solutions.

## Download the infographic with algorithm examples
**[Download: Infographic of machine learning basics with links to algorithm examples (PDF)](http://download.microsoft.com/download/0/5/A/05AE6B94-E688-403E-90A5-6035DBE9EEC5/machine-learning-basics-infographic-with-algorithm-examples.pdf)**
Expand All @@ -34,8 +33,9 @@ Download this easy-to-understand infographic overview of machine learning basics
## More help with algorithms for beginners and advanced users
* For a deeper discussion of the different types of machine learning algorithms, how they're used, and how to choose the right one for your solution, see [How to choose algorithms for Microsoft Azure Machine Learning](machine-learning-algorithm-choice.md).
* For a list by category of all the machine learning algorithms available in Machine Learning Studio, see [Initialize Model][initialize-model] in the Machine Learning Studio Algorithm and Module Help.
* For a complete list of algorithms and modules in Machine Learning Studio, see [A-Z list of Machine Learning Studio modules][a-z-list] in Machine Learning Studio Algorithm and Module Help.
* For a complete alphabetical list of algorithms and modules in Machine Learning Studio, see [A-Z list of Machine Learning Studio modules][a-z-list] in Machine Learning Studio Algorithm and Module Help.
* To download and print a diagram that gives an overview of the capabilities of Machine Learning Studio, see [Overview diagram of Azure Machine Learning Studio capabilities](machine-learning-studio-overview-diagram.md).
* For an overview of the Cortana Intelligence Gallery and the many community-generated resources available there, see [Share and discover resources in the Cortana Intelligence Gallery](machine-learning-gallery-how-to-use-contribute-publish.md).

[!INCLUDE [machine-learning-free-trial](../../includes/machine-learning-free-trial.md)]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ms.workload: data-services
ms.tgt_pltfrm: na
ms.devlang: na
ms.topic: article
ms.date: 08/19/2016
ms.date: 12/12/2016
ms.author: garye

---
Expand Down Expand Up @@ -53,8 +53,8 @@ When you convert this training experiment to a predictive experiment, some of th
* **Prep** - Depending on the data that will be submitted for scoring, these modules may or may not be necessary to process the incoming data.

For instance, in this example the sample dataset may have missing values and it includes columns that are not needed to train the model. So a [Clean Missing Data][clean-missing-data] module was included to deal with missing values, and a [Select Columns in Dataset][select-columns] module was included to exclude those extra columns from the data flow. If you know that the data that will be submitted for scoring through the web service will not have missing values, then you can remove the [Clean Missing Data][clean-missing-data] module. However, since the [Select Columns in Dataset][select-columns] module helps define the set of features being scored, that module needs to remain.
* **Train** - Once the model has been successfully trained, you save it as a single trained model module. You then replace these individual modules with the saved trained model.
* **Score** - In this example, the Split module is used to divide the data stream into a set of test data and training data. In the predictive experiment this is not needed and can be removed. Similarly, the 2nd [Score Model][score-model] module and the [Evaluate Model][evaluate-model] module are used to compare results from the test data, so these modules are also not needed in the predictive experiment. The remaining [Score Model][score-model] module, however, is needed to return a score result through the web service.
* **Train** - These modules are used to train the model. When you click **Set Up Web Service**, these modules are replaced with a single trained model module. This new module is saved in the **Trained Models** section of the module palette.
* **Score** - In this example, the Split module is used to divide the data stream into a set of test data and training data. In the predictive experiment this isn't needed and can be removed. Similarly, the 2nd [Score Model][score-model] module and the [Evaluate Model][evaluate-model] module are used to compare results from the test data, so these modules are also not needed in the predictive experiment. The remaining [Score Model][score-model] module, however, is needed to return a score result through the web service.

Here is how our example looks after clicking **Set Up Web Service**:

Expand All @@ -63,7 +63,7 @@ Here is how our example looks after clicking **Set Up Web Service**:
This may be sufficient to prepare your experiment to be deployed as a web service. However, you may want to do some additional work specific to your experiment.

### Adjust input and output modules
In your training experiment, you used a set of training data and then did some processing to get the data in a form that the machine learning algorithm needed. If the data you expect to receive through the web service will not need this processing, you can move the **Web service input module** to a different node in your experiment.
In your training experiment, you used a set of training data and then did some processing to get the data in a form that the machine learning algorithm needed. If the data you expect to receive through the web service will not need this processing, you can move the **Web service input module** to a different node in your experiment (click the output of the **Web service input module** and drag it to the input port of the appropriate module).

For example, by default **Set Up Web Service** puts the **Web service input** module at the top of your data flow, as in the figure above. However, if the input data will not need this processing, then you can manually position the **Web service input** past the data processing modules:

Expand All @@ -73,7 +73,7 @@ The input data provided through the web service will now pass directly into the

Similarly, by default **Set Up Web Service** puts the Web service output module at the bottom of your data flow. In this example, the web service will return to the user the output of the [Score Model][score-model] module which includes the complete input data vector plus the scoring results.

However, if you would prefer to return something different - for example, only the scoring results and not the entire vector of input data - then you can insert a [Select Columns in Dataset][select-columns] module to exclude all columns except the scoring results. You then move the **Web service output** module to the output of the [Select Columns in Dataset][select-columns] module:
However, if you would prefer to return something different, then you can add additional modules before the **Web service output** module. For example, if you want to return only the scoring results and not the entire vector of input data, then you can add a [Select Columns in Dataset][select-columns] module to exclude all columns except the scoring results. You then move the **Web service output** module to the output of the [Select Columns in Dataset][select-columns] module. The experiment would then look like this:

![Moving the web service output][figure5]

Expand All @@ -84,12 +84,15 @@ Our predictive experiment now looks like this:

![Removing additional module][figure6]

> [!TIP]
> Notice that we didn't remove the dataset or the [Select Columns in Dataset][select-columns] module. The model in the web service won't use the data in the original dataset, but it does use the metadata defined in the dataset, such as the data type of each column. Similarly, the [Select Columns in Dataset][select-columns] module identifies what columns of data will be used by the model. So both of these modules need to remain in the predictive experiment.
### Add optional Web Service Parameters
In some cases, you may want to allow the user of your web service to change the behavior of modules when the service is accessed. *Web Service Parameters* allow you to do this.

A common example is setting up the [Import Data][import-data] module so that the user of the deployed web service can specify a different data source when the web service is accessed. Or configuring the [Export Data][export-data] module so that a different destination can be specified.
A common example is setting up an [Import Data][import-data] module so that the user of the deployed web service can specify a different data source when the web service is accessed. Or configuring an [Export Data][export-data] module so that a different destination can be specified.

You can define Web Service Parameters and associate them with one or more module parameters, and you can specify whether they are required or optional. The user of the web service can then provide values for these parameters when the service is accessed and the module actions will be modified accordingly.
You can define Web Service Parameters and associate them with one or more module parameters, and you can specify whether they are required or optional. The user of the web service can then provide values for these parameters when the service is accessed, and the module actions will be modified accordingly.

For more information about Web Service Parameters, see [Using Azure Machine Learning Web Service Parameters
][webserviceparameters].
Expand Down
Loading

0 comments on commit 9e738c4

Please sign in to comment.