|
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