- 使用 ABBYY FineReader Engine 提供的驗證演算法。該演算法採用 k-fold cross-validation 策略:
在每次迭代中,TrainingData 物件中提供的已分類資料會被隨機分割為 FoldsCount 個相等的部分。每個部分依序用於驗證:以除該部分以外的所有部分訓練模型,再以剩餘的那個部分進行檢驗。
此處理序會重複 RepeatCount 次。在所得的 FoldsCount * RepeatCount 個模型中,F-measure 分數最佳的模型將由 ITrainingResult::Model 屬性傳回,其 scores 可透過 ITrainingResult::ValidationResult 屬性取得。
每個訓練步驟中訓練集的物件數量將等於 <物件總數> * (FoldsCount - 1) / FoldsCount。請注意,文字分類器的此數值至少須為 4,組合分類器則至少須為 8。請確保訓練樣本中包含足夠的物件。 - 將 ShouldPerformValidation 設為 FALSE 以停用驗證,以完整訓練資料集訓練模型,然後自行使用 IModel::Classify 方法,在另一個已知資料樣本上測試模型的效能。
Properties
| 名稱 | 型別 | 說明 |
|---|---|---|
| AveragingMethod | AveragingMethodEnum | 用於計算具有超過 2 個 Categories 的 classifier 之平均準確率、精確率、召回率及 F-measure scores 的方法。此屬性預設為 AM_Macro。 |
| FoldsCount | int | k-fold cross-validation 演算法中使用的折數。此屬性的預設值為 3。 |
| RepeatCount | int | 演算法中使用的迭代次數。此屬性的預設值為 1。 |
| ShouldPerformValidation | VARIANT_BOOL | 指定是否對已訓練的分類模型執行 validation。此屬性預設為 FALSE。 |
物件關係圖
