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