在App Store中搜索随进森林工具,进行下载并重启envi软件
含有三个模块
-
Train Random Forest Model
1. Input Raster:输入影像。选择图像时不能进行空间、光谱裁剪或掩膜(ENVI 5.5及以上版本已经禁止显示这些按钮)
2. Random Sampling:在样本像元数较多时,建议设置此参数为 Yes,可随机抽取部分样本用于训练从而缩短时间。
3. Input Training ROIs:输入训练样本,即ENVI感兴趣区域。对于ENVI 5.3版本,需预先在ENVI中打开ROI,再打开此工具。
4. Number of Trees:随机森林树的数量,值越大,构建耗时越长,反之用时越少。默认为100
5. Impurity Function:用于确定不纯度的不纯度函数。可选项为 Gini Index(基尼系数)、Entropy(熵)。默认为 Gini Index。
基尼不纯度主要用于分类问题,它的计算公式为:
Gini(p) = 1 - Σ (pi^2)
其中,pi 表示第 i 类样本的比例。
熵是信息论中的概念,用于衡量信息的不确定性。熵的计算公式为:
Entropy(p) = - Σ (pi * log2(pi))
同样,pi 表示第 i 类样本的比例。
不纯度函数的值越高,节点中的样本越不纯,表示样本的混合程度越高。在决策树的构建过程中,选择具有最小不纯度的分裂点可以使决策树更加准确和有区分性。
6. Minimum Number of Samples:一个节点必须要包含的训练样本,这个节点才允许被分枝,否则分枝不会产生
7. Minimum Impurity Threshold:限制信息增益的大小,信息增益小于设定数值的分枝不会产生
8.Output Model File:必选项。设置训练模型输出文件路径,文件后缀为rfc(会自行添加)。
9.Output Classification Raster:可选项。若设置分类图像输出路径,则在模型训练完毕后,自动将模型应用于输入图像,得到分类结果。
注意:
1.导入的待分类影像必须为envi的格式,不能为tif
2.导入的roi不能为shp文件,如训练数据为shp格式可使用Vector to ROI工具将shp文件转为待分类影像的roi
All records to a single ROIAll records to a single ROI 将所有矢量数据转化为一个roi
Each record to a separate ROI 将每一条记录转换为一个单独的 ROI
Unique records of an attribute to separate ROIs 将属性类型的矢量记录转换为单独的图层。例如,CLASS_ID 为 0 的向量在一个 ROI 中分组,CLASS_ID 为 1 的向量在另一个 ROI 中分组,依此类推。从出现的下拉列表中选择要使用的属性
Specific attribute query 将所选属性的某个类型的数据转换为单个 ROI。例如,带有 CLASS_NAME 的water类型
被转换为 ROI。从出现的下拉列表中选择要使用的属性=water。
Record subset to a single ROI 可选择矢量记录的子集以输出到单个ROI
-
Random Forest Classify Raster
可以将上述工具训练的模型用于其他图像。
-
Random Forest Classify Raster Batch
批处理功能,可使用同一个模型对多个影像分类,但需确保每个影像的地物类型一致,避免不必要的误差。