Aggregate cross-validation results.
(raw_results, eval_train_metric=False)
| 354 | |
| 355 | |
| 356 | def _agg_cv_result(raw_results, eval_train_metric=False): |
| 357 | """Aggregate cross-validation results.""" |
| 358 | cvmap = collections.OrderedDict() |
| 359 | metric_type = {} |
| 360 | for one_result in raw_results: |
| 361 | for one_line in one_result: |
| 362 | if eval_train_metric: |
| 363 | key = "{} {}".format(one_line[0], one_line[1]) |
| 364 | else: |
| 365 | key = one_line[1] |
| 366 | metric_type[key] = one_line[3] |
| 367 | cvmap.setdefault(key, []) |
| 368 | cvmap[key].append(one_line[2]) |
| 369 | return [('cv_agg', k, np.mean(v), metric_type[k], np.std(v)) for k, v in cvmap.items()] |
| 370 | |
| 371 | |
| 372 | def cv(params, train_set, num_boost_round=100, |