RSS
热门关键字:  数据挖掘  数据仓库  商业智能  人工智能  搜索引擎

Microsoft 决策树算法

来源: 作者:互联网作品 时间:2007-03-21 点击:

Microsoft 决策树算法是由 Microsoft SQL Server 2005 Analysis Services (SSAS) 提供的分类和回归算法,用于对离散和连续属性进行预测性建模。

数据挖掘研究院

对于离散属性,该算法根据数据集中输入列之间的关系进行预测。它使用这些列的值或状态预测指定的可预测列的状态。具体地说,该算法标识与可预测列相关的输入列。例如,在预测哪些客户可能购买自行车的方案中,假如在十名年轻客户中有九名购买了自行车,但在十名年龄较大的客户中只有两名购买了自行车,则该算法从中推断出年龄是自行车购买情况的最佳预测因子。决策树根据朝向特定结果发展的趋势进行预测。 数据挖掘研究院

对于连续属性,该算法使用线性回归确定决策树的拆分位置。

数据挖掘研究院

如果有多个列设置为可预测列,或输入数据包含设置为可预测的嵌套表,则该算法将为每个可预测列分别生成一个决策树。 数据挖掘研究院

示例示例

Adventure Works Cycle 公司的市场部需要标识其以前客户的特征,这些特征可以指示这些客户以后是否有可能购买其产品。AdventureWorks 数据库存储了描述其以前客户的人口统计信息。通过使用 Microsoft 决策树算法分析这些信息,市场部可以生成一个模型,该模型根据有关特定客户的已知列的状态(如人口统计或以前的购买模式)预测该客户是否会购买产品。

算法的原理算法的原理

Microsoft 决策树通过在树中创建一系列拆分(也称为节点)来生成数据挖掘模型。每当发现输入列与可预测列密切相关时,算法便会向该模型中添加一个节点。该算法确定拆分的方式不同,主要取决于它预测的是连续列还是离散列。有关 Microsoft 决策树算法如何处理可预测的离散列的详细说明,请参阅 数据挖掘实验室

预测离散列

通过柱状图可以演示 Microsoft 决策树算法为可预测的离散列生成树的方式。下面的关系图显示了一个根据输入列 Age 绘出可预测列 Bike Buyers 的柱状图。该柱状图显示了客户的年龄可帮助判断该客户是否将会购买自行车。 数据挖掘实验室

Microsoft 决策树算法中的直方图

该关系图中显示的关联将会使 Microsoft 决策树算法在模型中创建一个新节点。

决策树节点

随着算法不断向模型中添加新节点,便形成了树结构。该树的顶端节点描述了客户总体可预测列的分解。随着模型的不断增大,该算法将考虑所有列。 数据挖掘研究院

预测连续列

当 Microsoft 决策树算法根据可预测的连续列生成树时,每个节点都包含一个回归公式。拆分出现在回归公式的每个非线性点处。例如,请看下面的关系图。 数据挖掘研究院

显示非线性的多条回归线

该关系图包含可通过使用一条或两条连线建模的数据。不过,一条连线将使得模型表示数据的效果较差。相反,如果使用两条连线,则模型可以更精确地逼近数据。两条连线的相交点是非线性点,并且是决策树模型中的节点将拆分的点。例如,与上图中的非线性点相对应的节点可以由以下关系图表示。两个等式表示两条连线的回归等式。

表示非线性点的等式
Scalable Classification over SQL DatabasesLearning Bayesian Networks:The Combination of Knowledge and Statistical DataLearning Bayesian Networks:The Combination of Knowledge and Statistical Data。有关 Microsoft 决策树算法如何处理可预测的连续列的详细信息,请参阅 Autoregressive Tree Models for Time-Series Analysis 的附录。
使用算法使用算法

决策树模型必须包含一个键列、若干输入列和一个可预测列。 数据挖掘研究院

Microsoft 决策树算法支持特定的输入列内容类型、可预测列内容类型和建模标志,如下表所示。

输入列内容类型

数据挖掘研究院

Continuous、Cyclical、Discrete、Discretized、Key、Table 和 Ordered

数据挖掘实验室

可预测列内容类型 数据挖掘研究院

Continuous、Cyclical、Discrete、Discretized、Table 和 Ordered

建模标志

数据挖掘实验室

MODEL_EXISTENCE_ONLY、NOT NULL 和 REGRESSOR

所有 Microsoft 算法均支持一些通用的函数。但 Microsoft 决策树算法还支持其他函数,如下表所示。 数据挖掘研究院

IsDescendant

PredictNodeId

IsInNode

数据挖掘研究院

PredictProbability

PredictAdjustedProbability 数据挖掘实验室

PredictStdev 数据挖掘实验室

PredictAssociation

数据挖掘研究院

PredictSupport 数据挖掘研究院

PredictHistogram

PredictVariance 数据挖掘研究院

有关对所有 Microsoft 算法都通用的函数列表,请参阅 数据挖掘研究院

Microsoft 决策树算法支持使用预测模型标记语言 (PMML) 创建挖掘模型。 数据挖掘研究院

Microsoft 决策树算法支持多个参数,这些参数会对所生成的挖掘模型的性能和准确性产生影响。下表对各参数进行了说明:

数据挖掘实验室

参数 说明

MAXIMUM_INPUT_ATTRIBUTES 数据挖掘研究院

定义算法在调用功能选择之前可以处理的输入属性数。如果将此值设置为 0,则表示关闭功能选择。

默认值为 255。 数据挖掘研究院

MAXIMUM_OUTPUT_ATTRIBUTES 数据挖掘实验室

定义算法在调用功能选择之前可以处理的输出属性数。如果将此值设置为 0,则表示关闭功能选择。 数据挖掘研究院

默认值为 255。 数据挖掘实验室

SCORE_METHOD 数据挖掘实验室

确定用于计算拆分分数的方法。可用选项包括:Entropy (1)、Bayesian with K2 Prior (2) 或 Bayesian Dirichlet Equivalent (BDE) Prior (3)。 数据挖掘研究院

默认值为 3。

SPLIT_METHOD

数据挖掘研究院

确定用于拆分节点的方法。可用选项包括:Binary (1)、Complete (2) 或 Both (3)。 数据挖掘研究院

默认值为 3。 数据挖掘研究院

MINIMUM_SUPPORT

确定在决策树中生成拆分所需的叶事例的最少数量。 数据挖掘实验室

默认值为 10。 数据挖掘研究院

COMPLEXITY_PENALTY 数据挖掘研究院

控制决策树的增长。该值较低时,会增加拆分数;该值较高时,会减少拆分数。默认值基于特定模型的属性数,详见以下列表:

  • 对于 1 到 9 个属性,默认值为 0.5。
  • 对于 10 到 99 个属性,默认值为 0.9。
  • 对于 100 或更多个属性,默认值为 0.99。

FORCED_REGRESSOR

强制算法将指示的列用作回归量,而不考虑算法为这些列计算出的重要性。此参数只用于预测连续属性的决策树。

数据挖掘研究院

数据挖掘算法。有关如何使用这些函数的详细信息,请参阅数据挖掘扩展插件 (DMX) 函数参考
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?