Data Mining Algorithms (Analysis Services  Data Mining)
Topic Status: Some information in this topic is preview and subject to change in future releases. Preview information describes new features or changes to existing features in Microsoft SQL Server 2016 Community Technology Preview 2 (CTP2).
A data mining algorithm is a set of heuristics and calculations that creates a data mining model from data. To create a model, the algorithm first analyzes the data you provide, looking for specific types of patterns or trends. The algorithm uses the results of this analysis to define the optimal parameters for creating the mining model. These parameters are then applied across the entire data set to extract actionable patterns and detailed statistics.
The mining model that an algorithm creates from your data can take various forms, including:

A set of clusters that describe how the cases in a dataset are related.

A decision tree that predicts an outcome, and describes how different criteria affect that outcome.

A mathematical model that forecasts sales.

A set of rules that describe how products are grouped together in a transaction, and the probabilities that products are purchased together.
Microsoft SQL Server Analysis Services provides multiple algorithms for use in your data mining solutions. These algorithms are implementations of some of the most popular methodologies used in data mining. All of the Microsoft data mining algorithms can be customized and are fully programmable using the provided APIs, or by using the data mining components in SQL Server Integration Services.
You can also use thirdparty algorithms that comply with the OLE DB for Data Mining specification, or develop custom algorithms that can be registered as services and then used within the SQL Server Data Mining framework.
Choosing the best algorithm to use for a specific analytical task can be a challenge. While you can use different algorithms to perform the same business task, each algorithm produces a different result, and some algorithms can produce more than one type of result. For example, you can use the Microsoft Decision Trees algorithm not only for prediction, but also as a way to reduce the number of columns in a dataset, because the decision tree can identify columns that do not affect the final mining model.
Choosing an Algorithm by Type
Analysis Services includes the following algorithm types:

Classification algorithms predict one or more discrete variables, based on the other attributes in the dataset.

Regression algorithms predict one or more continuous variables, such as profit or loss, based on other attributes in the dataset.

Segmentation algorithms divide data into groups, or clusters, of items that have similar properties.

Association algorithms find correlations between different attributes in a dataset. The most common application of this kind of algorithm is for creating association rules, which can be used in a market basket analysis.

Sequence analysis algorithms summarize frequent sequences or episodes in data, such as a Web path flow.
However, there is no reason that you should be limited to one algorithm in your solutions. Experienced analysts will sometimes use one algorithm to determine the most effective inputs (that is, variables), and then apply a different algorithm to predict a specific outcome based on that data. SQL Server data mining lets you build multiple models on a single mining structure, so within a single data mining solution you might use a clustering algorithm, a decision trees model, and a naïve Bayes model to get different views on your data. You might also use multiple algorithms within a single solution to perform separate tasks: for example, you could use regression to obtain financial forecasts, and use a neural network algorithm to perform an analysis of factors that influence sales.
Choosing an Algorithm by Task
To help you select an algorithm for use with a specific task, the following table provides suggestions for the types of tasks for which each algorithm is traditionally used.
Examples of tasks 
Microsoft algorithms to use 

Predicting a discrete attribute

Microsoft Decision Trees Algorithm Microsoft Naive Bayes Algorithm 
Predicting a continuous attribute

Microsoft Decision Trees Algorithm 
Predicting a sequence


Finding groups of common items in transactions


Finding groups of similar items

The following table provides links to learning resources for each of the data mining algorithms that are provided in Analysis Services:
Topic 
Description 

Determine the algorithm used by a data mining model 

Create a Custom PlugIn Algorithm 

Explore a model using an algorithmspecific viewer 

View the content of a model using a generic table format 
Browse a Model Using the Microsoft Generic Content Tree Viewer 
Learn about how to set up your data and use algorithms to create models 