使用说明
同基于森林的分类方法一样,基于森林的回归也是使用随机森林算法进行模型训练和预测;与分类算法的区别是,回归算法是一种对数值型连续随机变量进行预测的过程,产生的结果一般也是数值型的。与传统的多元线性回归模型或参数回归模型相比,基于森林的回归算法不需事先设定函数形式,且预测精度较高。
作为新兴起的、高度灵活的一种机器学习算法,基于森林的预测方法广泛应用于遥感、生态、生物信息学、市场营销、医疗保险等领域中。
该方法进行基于森林的回归的数据训练过程,可以根据数据特征得到森林模型,进而用于预测。
返回基于森林的回归模型汇总:
- fbModelCharacteristics:森林模型的属性,包括树的数目numTrees,树的叶子节点的最小样本数leafSize,树的最大深度maxTreesDepth,树的最小深度minTreesDepth。
- Variable:森林模型的字段名称数组,指训练模型中自变量的字段。
- variableImportances:字段重要性,指各自变量特征对因变量的影响程度。
- mse:均方误差,预测值与真实值误差平方的均值。
- rmse:均方根误差,预测值与真实值误差平方根的均值。
- mae:平均绝对误差,预测值与真实值误差绝对值的均值。
- r2:决定系数。根据r2的取值,可以判断模型的好坏,取值范围[0,1],一般来说,r2越大表示模型拟合效果越好。r2反映的是大概有多准,因为随着样本数量的增加,r2必然增加,无法真正定量说明准确程度,只能大概定量。
- explainedVariance:解释方差。
参数说明
参数名 | 默认值 | 参数释义 | 参数类型 |
---|---|---|---|
建模字段 |
建模字段名称。用于训练模型的字段,即因变量。该字段对应将用于在未知位置进行预测的变量的已知(训练)值。该方法中建模字段为连续数值类型。 | String | |
解释字段 |
解释字段名称集合。该集合输入训练数据集的一个或多个字段名称作为模型的解释变量。 | String | |
距离解释变量数据集 (可选) |
距离解释变量数据集集合,数组中的对象使用 ExplanatoryDistanceRDD 进行构建。距离解释变量数据集包括 距离解释变量数据集、搜索距离。计算给定的训练解释变量数据集与输入的训练数据集的最近距离,自动创建一列解释变量(解释变量名称为输入的 distanceFieldName )。如果输入训练距离解释变量数据集,则在利用模型进行预测时,必须输入预测距离解释变量数据集,且与训练模型时创建的解释变量名称对应,预测距离解释变量数据集使用同一个搜索距离。 | ExplanatoryDistanceRDD | |
树的数目 (可选) |
100 | 树的数目,要在森林模型中创建的树的数目。增大树数通常将产生更加精确的模型预测,但是将增加模型计算的时间。取值范围>0,默认值100。 | Integer |
树的深度 (可选) |
30 | 树的深度,对树进行的最大分割数。取值范围0-30,默认值为30。如果使用较大的最大深度,则将创建更多分割,这可能会增大过度拟合模型的可能性。 | Integer |
每棵决策树使用数据百分比 (可选) |
1.0 | 指定用于每棵决策树的要素百分比,取值范围0-1.0,默认值为1.0,表示100%的数据。对每棵决策树使用较低百分比的输入数据可以提高针对大型数据集的工具速度。 | Double |
叶子节点分裂阈值 (可选) |
5 | 叶子节点分裂阈值,保留叶子(即未进一步进行分割的树上的终端节点)所需的最小观测值数。取值范围>0,默认值为5。对于非常大的数据,增大这些数值将减小工具的运行时间。 | Integer |
模型保存目录 |
基于森林的回归模型指定的保存目录。 | String | |
训练数据集 |
训练数据集。访问数据的连接信息,需要包含数据类型,连接参数,数据集名字等信息。使用’—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 | String | |
数据查询条件 (可选) |
数据查询条件,支持属性条件和空间查询, 如 SmID<100 and BBOX(the_geom, 120,30,121,31) | String |