Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENH] address deprecation warnings from dependencies #4423

Merged
merged 2 commits into from Apr 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
27 changes: 21 additions & 6 deletions sktime/performance_metrics/forecasting/_classes.py
Expand Up @@ -73,9 +73,24 @@
]


def _is_uniform_average(multilevel):
"""Check if multilevel is one of strings uniform_average, uniform_average_time."""
return multilevel in ["uniform_average", "uniform_average_time"]
def _is_average(multilevel_or_multioutput):
"""Check if multilevel is one of the inputs that lead to averaging.

True if `multilevel_or_multioutput`
is one of the strings `"uniform_average"`, `"uniform_average_time"`

False if `multilevel_or_multioutput`
is the string `"raw_values"`

True otherwise
"""
if isinstance(multilevel_or_multioutput, str):
if multilevel_or_multioutput in ["uniform_average", "uniform_average_time"]:
return True
if multilevel_or_multioutput in ["raw_values"]:
return False
else:
return True


class BaseForecastingErrorMetric(BaseMetric):
Expand Down Expand Up @@ -202,11 +217,11 @@ def evaluate(self, y_true, y_pred, **kwargs):
y_true=y_true_inner, y_pred=y_pred_inner, **kwargs
)

if _is_uniform_average(multilevel) and multioutput == "raw_values":
if _is_average(multilevel) and not _is_average(multioutput):
out_df = _coerce_to_1d_numpy(out_df)
if _is_uniform_average(multilevel) and multioutput == "uniform_average":
if _is_average(multilevel) and _is_average(multioutput):
out_df = _coerce_to_scalar(out_df)
if multilevel == "raw_values":
if not _is_average(multilevel):
out_df = _coerce_to_df(out_df)

return out_df
Expand Down
2 changes: 1 addition & 1 deletion sktime/utils/datetime.py
Expand Up @@ -173,7 +173,7 @@ def _infer_freq_from_index(index: pd.Index) -> Optional[str]:
return index.freqstr
else:
try:
return pd.infer_freq(index, warn=False)
return pd.infer_freq(index)
except (TypeError, ValueError):
return None

Expand Down