梯度提升树是一种广泛被用来分类和回归的迭代的决策树算法。该算法由多棵决策树组成,与随机森林算法不同的是,随机森林将多棵决策树的结果进行投票后得到最终结果,梯度提升树学习之前所有树的结论,在迭代的每一步构建弱学习器来弥补原有模型的不足,从而更准确。另外,梯度提升树对异常值很敏感。且这里的分类只能用于二分类。

该方法进行梯度提升树分类方法的数据训练过程,可以根据数据特征得到模型,进而用于预测。

创建梯度提升分类训练任务时,需要设置以下参数:

  • 训练数据集:必填参数,需要进行训练的数据集访问连接信息,需要包含数据类型,连接参数,数据集名字等信息。可以连接HBase数据,dsf数据,本地数据。

  • 数据查询条件:可选参数,可以根据此查询条件筛选出指定数据进行相应分析,支持属性条件和空间查询, 如 SmID<100 and BBOX(the_geom, 120,30,121,31)。

  • 解释字段:必填参数,解释变量的字段名称,输入训练数据集的一个或多个解释字段名称作为模型的自变量,可帮助预测出类别。

  • 建模字段:必填参数,用于训练模型的字段,即因变量。该字段对应将用于在未知位置进行预测的变量的已知(训练)值。

  • 树的深度:可选参数,或是称为对树进行的最大分割数。取值范围0-30,默认值为30。如果使用较大的最大深度,则将创建更多分割,这可能会增大过度拟合模型的可能性。

  • 最大迭代次数:最大迭代次数,必须大于0,默认为100。

  • 训练时使用数据百分比:可选参数,指定用于每棵梯度提升树的要素百分比,取值范围0-1.0,默认值为1.0,表示100%的数据。对每棵树使用较低百分比的输入数据可以提高针对大型数据集的工具速度。

  • 叶子节点分裂阈值:可选参数,保留叶子(即未进一步进行分割的树上的终端节点)所需的最小观测值数。取值范围>0,默认值为1。对于非常大的数据,增大这些数值将减小工具的运行时间。

  • 模型保存目录:可选参数,将训练结果较好的模型保存至该地址下。为空表示不保存模型。

执行完该训练任务,输出以下结果参数:

  • gbtModelCharacteristics:梯度提升树分类模型的属性。

  • Variable:梯度提升树分类模型的字段名称数组,指训练模型中自变量的字段。

  • featureImportances:字段重要性,指各自变量特征对因变量的影响程度。

  • f1:加权后的f1-measure。

  • accuracy:加权后的准确率。

  • weightedPrecision:加权后的精确率。

  • weightedRecall:加权后的召回率。

  • ClassificationDiagnostics:分类结果诊断。包括对各分类类别的f1Score、精确率(precision)、召回率(recall)、真正确率(truePositiveRate)、假正确率(falsePositiveRate)。