|
6 | 6 |
|
7 | 7 | import warnings
|
8 | 8 | from collections import Counter
|
| 9 | +from collections import OrderedDict |
9 | 10 | from numbers import Integral, Real
|
10 | 11 |
|
11 | 12 | import numpy as np
|
@@ -462,21 +463,30 @@ def check_sampling_strategy(sampling_strategy, y, sampling_type, **kwargs):
|
462 | 463 | raise ValueError("When 'sampling_strategy' is a string, it needs"
|
463 | 464 | " to be one of {}. Got '{}' instead.".format(
|
464 | 465 | SAMPLING_TARGET_KIND, sampling_strategy))
|
465 |
| - return SAMPLING_TARGET_KIND[sampling_strategy](y, sampling_type) |
| 466 | + return OrderedDict(sorted( |
| 467 | + SAMPLING_TARGET_KIND[sampling_strategy](y, sampling_type).items())) |
466 | 468 | elif isinstance(sampling_strategy, dict):
|
467 |
| - return _sampling_strategy_dict(sampling_strategy, y, sampling_type) |
| 469 | + return OrderedDict(sorted( |
| 470 | + _sampling_strategy_dict(sampling_strategy, y, sampling_type) |
| 471 | + .items())) |
468 | 472 | elif isinstance(sampling_strategy, list):
|
469 |
| - return _sampling_strategy_list(sampling_strategy, y, sampling_type) |
| 473 | + return OrderedDict(sorted( |
| 474 | + _sampling_strategy_list(sampling_strategy, y, sampling_type) |
| 475 | + .items())) |
470 | 476 | elif isinstance(sampling_strategy, Real):
|
471 | 477 | if sampling_strategy <= 0 or sampling_strategy > 1:
|
472 | 478 | raise ValueError(
|
473 | 479 | "When 'sampling_strategy' is a float, it should be "
|
474 | 480 | "in the range (0, 1]. Got {} instead."
|
475 | 481 | .format(sampling_strategy))
|
476 |
| - return _sampling_strategy_float(sampling_strategy, y, sampling_type) |
| 482 | + return OrderedDict(sorted( |
| 483 | + _sampling_strategy_float(sampling_strategy, y, sampling_type) |
| 484 | + .items())) |
477 | 485 | elif callable(sampling_strategy):
|
478 | 486 | sampling_strategy_ = sampling_strategy(y, **kwargs)
|
479 |
| - return _sampling_strategy_dict(sampling_strategy_, y, sampling_type) |
| 487 | + return OrderedDict(sorted( |
| 488 | + _sampling_strategy_dict(sampling_strategy_, y, sampling_type) |
| 489 | + .items())) |
480 | 490 |
|
481 | 491 |
|
482 | 492 | SAMPLING_TARGET_KIND = {
|
|
0 commit comments