Spaces:
Running
Running
"""Various functions to deprecate features.""" | |
import warnings | |
def pysr(X, y, weights=None, **kwargs): # pragma: no cover | |
from .sr import PySRRegressor | |
warnings.warn( | |
"Calling `pysr` is deprecated. " | |
"Please use `model = PySRRegressor(**params); " | |
"model.fit(X, y)` going forward.", | |
FutureWarning, | |
) | |
model = PySRRegressor(**kwargs) | |
model.fit(X, y, weights=weights) | |
return model.equations_ | |
def best(*args, **kwargs): # pragma: no cover | |
raise NotImplementedError( | |
"`best` has been deprecated. " | |
"Please use the `PySRRegressor` interface. " | |
"After fitting, you can return `.sympy()` " | |
"to get the sympy representation " | |
"of the best equation." | |
) | |
def best_row(*args, **kwargs): # pragma: no cover | |
raise NotImplementedError( | |
"`best_row` has been deprecated. " | |
"Please use the `PySRRegressor` interface. " | |
"After fitting, you can run `print(model)` to view the best equation, " | |
"or " | |
"`model.get_best()` to return the best equation's " | |
"row in `model.equations_`." | |
) | |
def best_tex(*args, **kwargs): # pragma: no cover | |
raise NotImplementedError( | |
"`best_tex` has been deprecated. " | |
"Please use the `PySRRegressor` interface. " | |
"After fitting, you can return `.latex()` to " | |
"get the sympy representation " | |
"of the best equation." | |
) | |
def best_callable(*args, **kwargs): # pragma: no cover | |
raise NotImplementedError( | |
"`best_callable` has been deprecated. Please use the `PySRRegressor` " | |
"interface. After fitting, you can use " | |
"`.predict(X)` to use the best callable." | |
) | |
def make_deprecated_kwargs_for_pysr_regressor(): | |
"""Create dict of deprecated kwargs.""" | |
deprecation_string = """ | |
fractionReplaced => fraction_replaced | |
fractionReplacedHof => fraction_replaced_hof | |
npop => population_size | |
hofMigration => hof_migration | |
shouldOptimizeConstants => should_optimize_constants | |
weightAddNode => weight_add_node | |
weightDeleteNode => weight_delete_node | |
weightDoNothing => weight_do_nothing | |
weightInsertNode => weight_insert_node | |
weightMutateConstant => weight_mutate_constant | |
weightMutateOperator => weight_mutate_operator | |
weightSwapOperands => weight_swap_operands | |
weightRandomize => weight_randomize | |
weightSimplify => weight_simplify | |
crossoverProbability => crossover_probability | |
perturbationFactor => perturbation_factor | |
batchSize => batch_size | |
warmupMaxsizeBy => warmup_maxsize_by | |
useFrequency => use_frequency | |
useFrequencyInTournament => use_frequency_in_tournament | |
""" | |
# Turn this into a dict: | |
deprecated_kwargs = {} | |
for line in deprecation_string.splitlines(): | |
line = line.replace(" ", "") | |
if line == "": | |
continue | |
old, new = line.split("=>") | |
deprecated_kwargs[old] = new | |
return deprecated_kwargs | |