Microsoft 决策树算法通过在树中创建一系列拆分来生成数据挖掘模型。这些拆分以“节点”来表示。每当发现输入列与可预测列密切相关时,该算法便会向该模型中添加一个节点。该算法确定拆分的方式不同,主要取决于它预测的是连续列还是离散列。
Microsoft 决策树算法使用“功能选择”来指导如何选择最有用的属性。所有 Analysis Services 数据挖掘算法均使用功能选择来改善分析的性能和质量。功能选择对防止不重要的属性占用处理器时间意义重大。如果在设计数据挖掘模型时使用过多的输入或可预测属性,则可能需要很长的时间来处理该模型,甚至导致内存不足。用于确定是否拆分树的方法包括对“平均信息量”和 Bayesian 网络的行业标准度量。有关用于选择有意义的属性,继而对这些属性计分和排列的方法的详细信息,请参阅数据挖掘中的功能选择。
数据挖掘模型中的常见问题是该模型对定型数据中的细微差异过于敏感,这种情况称为“过度拟合”或“过度定型”。过度拟合模型无法推广到其他数据集。为避免模型对任何特定的数据集过度拟合,Microsoft 决策树算法使用一些技术来控制树的生长。有关 Microsoft 决策树算法工作方式的更深入说明,请参阅 Microsoft 决策树算法技术参考(Analysis Services - 数据挖掘)。
预测离散列
通过柱状图可以演示 Microsoft 决策树算法为可预测的离散列生成树的方式。下面的关系图显示了一个根据输入列 Age 绘出可预测列 Bike Buyers 的柱状图。该柱状图显示了客户的年龄可帮助判断该客户是否将会购买自行车。
该关系图中显示的关联将会使 Microsoft 决策树算法在模型中创建一个新节点。
随着算法不断向模型中添加新节点,便形成了树结构。该树的顶端节点描述了客户总体可预测列的分解。随着模型的不断增大,该算法将考虑所有列。
预测连续列
当 Microsoft 决策树算法根据可预测的连续列生成树时,每个节点都包含一个回归公式。拆分出现在回归公式的每个非线性点处。例如,请看下面的关系图。
该关系图包含可通过使用一条或两条连线建模的数据。不过,一条连线将使得模型表示数据的效果较差。相反,如果使用两条连线,则模型可以更精确地逼近数据。两条连线的相交点是非线性点,并且是决策树模型中的节点将拆分的点。例如,与上图中的非线性点相对应的节点可以由以下关系图表示。两个等式表示两条连线的回归等式。