交叉评价通过eval/cross_validate.go中的函数实现
// 进行N-fold cross-validation,输出评价
func CrossValidate(
trainer supervised.Trainer,
set data.Dataset,
evals *Evaluators,
folds int) (output Evaluation)
此函数会在数据集set上建立跳跃数据集,将set分为folds份,然后遍历这folds份数据:
- 选定第i份数据,对剩余folds-1份数据利用trainer建立模型
- 用建立的模型对第i份数据进行评价,评价器为evals(评价器数组)
- 遍历i,得到folds份评价,然后求平均