- 使用 ABBYY FineReader Engine 提供的验证算法。该算法采用 k 折交叉验证策略:
在每次迭代中,TrainingData 对象中提供的已分类数据会被随机划分为 FoldsCount 个相等的部分。随后依次使用其中每一部分进行验证:用除当前部分以外的所有部分训练模型,再用当前这一部分进行检验。
该过程会重复 RepeatCount 次。在生成的 FoldsCount * RepeatCount 个模型中,F-measure 分数最高的模型将通过 ITrainingResult::Model 属性返回,其评分可通过 ITrainingResult::ValidationResult 属性获取。
每个训练步骤中,训练集内的对象数量将等于 <对象总数> * (FoldsCount - 1) / FoldsCount。请注意,对于文本分类器,该数量至少应为 4;对于组合分类器,至少应为 8。请确保训练样本中包含足够多的对象。 - 将 ShouldPerformValidation 设置为 FALSE 以关闭验证,在整个训练数据集上训练模型,然后在您这一侧使用另一个已知数据样本,通过 IModel::Classify 方法测试模型性能。
属性
| 名称 | 类型 | 描述 |
|---|---|---|
| AveragingMethod | AveragingMethodEnum | 对于类别数超过 2 个的分类器,用于计算平均准确率、精确率、召回率和 F-measure 分数的方法。此属性的默认值为 AM_Macro。 |
| FoldsCount | int | k 折交叉验证算法中使用的折数。此属性的默认值为 3。 |
| RepeatCount | int | 算法中使用的迭代次数。此属性的默认值为 1。 |
| ShouldPerformValidation | VARIANT_BOOL | 指定是否应对已训练的模型执行验证。此属性的默认值为 FALSE。 |
对象关系图
