基于森林的分类训练 |
该功能使用LeoBreiman随机森林算法,这是一种监督式的机器学习方法,当针对分类变量创建模型并执行预测时,是基于森林的分类方法,对判别类型,回答有或无、发生或不发生等问题时便可使用该方法。
进行基于森林的分类方法的数据训练过程,可以根据数据特征得到森林模型,进而用于预测。
训练数据集:必填参数,需要进行训练的数据集访问连接信息,需要包含数据类型,连接参数,数据集名字等信息。可以连接HBase数据,dsf数据,本地数据。使用'--key=value'的方式设置,多个值使用' '空格分隔。如连接HBase数据为 --providerType=hbase --hbase.zookeepers=192.168.12.34:2181 --hbase.catalog=demo --dataset=dltb; 连接dsf数据为--providerType=dsf --path=hdfs://ip:9000/dsfdata ; 本地数据为--providerType=dsf --path=/home/dsfdata
数据查询条件:可选参数,可以根据此查询条件筛选出指定数据进行相应分析,支持属性条件和空间查询, 如 SmID<100 and BBOX(the_geom, 120,30,121,31)。
解释字段:必填参数,解释变量的字段名称,输入训练数据集的一个或多个解释字段名称作为模型的自变量,可帮助预测出类别。
建模字段:必填参数,用于训练模型的字段,即因变量。该字段对应将用于在未知位置进行预测的变量的已知(训练)值。
树的数目:可选参数,要在森林模型中创建的树的数目。增大树数通常将产生更加精确的模型预测,但是将增加模型计算的时间。取值范围>0,默认值100。
树的深度:可选参数,或是称为对树进行的最大分割数。取值范围0-30,默认值为30。如果使用较大的最大深度,则将创建更多分割,这可能会增大过度拟合模型的可能性。
叶子节点分裂阈值:可选参数,保留叶子(即未进一步进行分割的树上的终端节点)所需的最小观测值数。取值范围>0,默认值为1。对于非常大的数据,增大这些数值将减小工具的运行时间。
每棵决策树使用数据百分比:可选参数,指定用于每棵决策树的要素百分比,取值范围0-1.0,默认值为1.0,表示100%的数据。对每棵决策树使用较低百分比的输入数据可以提高针对大型数据集的工具速度。
距离解释变量数据集:可选参数,支持点、线、面数据集,计算给定数据集的要素与训练数据集中要素的最近距离,可自动创建一列解释变量。
模型保存目录:可选参数,将训练结果较好的模型保存至该地址下。为空表示不保存模型。
fbModelCharacteristics:森林模型的属性,包括树的数目numTrees,树的叶子节点的最小样本数leafSize,树的最大深度maxTreesDepth,树的最小深度minTreesDepth。
Variable:森林模型的字段名称数组,指训练模型中自变量的字段。
variableImportances:字段重要性,指各自变量特征对因变量的影响程度。
f1Score:加权后的f1-measure。
accuracy:加权后的准确率。
weightedPrecision:加权后的精确率。
weightedRecall:加权后的召回率。
classificationDiagnostics:分类结果诊断。包括对各分类类别的f1Score、精确率(precision)、召回率(recall)、真正确率(truePositiveRate)、假正确率(falsePositiveRate)。