在基于森林的方法中,针对连续变量创建模型并执行预测即为回归方法。进行基于森林的回归方法的数据训练过程,可以根据数据特征得到森林模型,进而用于预测。
创建基于森林的回归训练任务时,需要设置以下参数:
-
训练数据集:必填参数,需要进行训练的数据集访问连接信息,需要包含数据类型,连接参数,数据集名字等信息。可以连接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,默认值为5。对于非常大的数据,增大这些数值将减小工具的运行时间。
-
每棵决策树使用数据百分比:可选参数,指定用于每棵决策树的要素百分比,取值范围0-1.0,默认值为1.0,表示100%的数据。对每棵决策树使用较低百分比的输入数据可以提高针对大型数据集的工具速度。
-
距离解释变量数据集:可选参数,支持点、线、面数据集,计算给定数据集的要素与训练数据集中要素的最近距离,可自动创建一列解释变量。
-
模型保存目录:可选参数,将训练结果较好的模型保存至该地址下。为空表示不保存模型。
执行完该训练任务,输出以下结果参数:
-
fbModelCharacteristics:森林模型的属性,包括树的数目numTrees,树的叶子节点的最小样本数leafSize,树的最大深度maxTreesDepth,树的最小深度minTreesDepth。
-
Variable:森林模型的字段名称数组,指训练模型中自变量的字段。
-
variableImportances:字段重要性,指各自变量特征对因变量的影响程度。
-
mse:均方误差,预测值与真实值误差平方的均值。
-
rmse:均方根误差,预测值与真实值误差平方根的均值。
-
mae:平均绝对误差,预测值与真实值误差绝对值的均值。
-
r2:决定系数。根据r2的取值,可以判断模型的好坏,取值范围[0,1],一般来说,r2越大表示模型拟合效果越好。r2反映的是大概有多准,因为随着样本数量的增加,r2必然增加,无法真正定量说明准确程度,只能大概定量。
-
explainedVariance:解释方差。