使用说明
该功能使用LeoBreiman随机森林算法,这是一种用于分类和回归的监督式机器学习方法。当针对分类变量创建模型并执行预测时,是基于森林的分类方法。这种学习方法需要给予适当训练或使用这样一种数据集,在该数据集中已知拟合(或监督)预测模型的正确答案,然后将数据分成两部分,一部分用于随机森林分类器,另一部分用于测试该分类器所生成的结果。根据结果的准确性,可将该模型用于全部地区的数据。
基于森林的算法具有便捷快速处理大样本数据,无过拟合抗噪音能力强,而且能够评价模型中特征变量重要性等特点。
该方法进行基于森林的分类方法的数据训练过程,可以根据数据特征得到森林模型,进而用于预测。
返回基于森林的分类模型汇总:
- fbModelCharacteristics:森林模型的属性,包括树的数目numTrees,树的叶子节点的最小样本数leafSize,树的最大深度maxTreesDepth,树的最小深度minTreesDepth。
- Variable:森林模型的字段名称数组,指训练模型中自变量的字段。
- variableImportances:字段重要性,指各自变量特征对因变量的影响程度。
- f1Score:加权后的f1-measure。
- accuracy:加权后的准确率。
- weightedPrecision:加权后的精确率。
- weightedRecall:加权后的召回率。
- classificationDiagnostics:分类结果诊断。包括对各分类类别的f1Score、精确率(precision)、召回率(recall)、真正确率(truePositiveRate)、假正确率(falsePositiveRate)。
参数说明
参数名 | 默认值 | 参数释义 | 参数类型 |
---|---|---|---|
建模字段 |
建模字段名称。用于训练模型的字段,即因变量。该字段对应将用于在未知位置进行预测的变量的已知(训练)值。该方法中建模字段为分类整数。 | String | |
解释字段 |
解释字段名称集合。该集合输入训练数据集的一个或多个字段名称作为模型的解释变量。 | String | |
距离解释变量数据集 (可选) |
距离解释变量数据集集合,数组中的对象使用 ExplanatoryDistanceRDD 进行构建。距离解释变量数据集包括 距离解释变量数据集、搜索距离。计算给定的训练解释变量数据集与输入的训练数据集的最近距离,自动创建一列解释变量(解释变量名称为输入的 distanceFieldName )。如果输入训练距离解释变量数据集,则在利用模型进行预测时,必须输入预测距离解释变量数据集,且与训练模型时创建的解释变量名称对应,预测距离解释变量数据集使用同一个搜索距离。 | ExplanatoryDistanceRDD | |
树的数目 (可选) |
100 | 树的数目,要在森林模型中创建的树的数目。增大树数通常将产生更加精确的模型预测,但是将增加模型计算的时间。取值范围>0,默认值100。 | Integer |
树的深度 (可选) |
30 | 树的深度,对树进行的最大分割数。取值范围0-30,默认值为30。如果使用较大的最大深度,则将创建更多分割,这可能会增大过度拟合模型的可能性。 | Integer |
每棵决策树使用数据百分比 (可选) |
1.0 | 指定用于每棵决策树的要素百分比,取值范围0-1.0,默认值为1.0,表示100%的数据。对每棵决策树使用较低百分比的输入数据可以提高针对大型数据集的工具速度。 | Double |
叶子节点分裂阈值 (可选) |
1 | 叶子节点分裂阈值,保留叶子(即未进一步进行分割的树上的终端节点)所需的最小观测值数。取值范围>0,默认值为1。对于非常大的数据,增大这些数值将减小工具的运行时间。 | Integer |
模型保存目录 (可选) |
基于森林的分类模型指定的保存目录。注意,这里需要填写到保存文件夹的下一层,并为模型命名,如E:\test\model | 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 |