openstef 3.4.31__tar.gz → 3.4.32__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. {openstef-3.4.31 → openstef-3.4.32}/PKG-INFO +1 -1
  2. {openstef-3.4.31 → openstef-3.4.32}/openstef/feature_engineering/missing_values_transformer.py +18 -14
  3. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/regressors/linear_quantile.py +1 -1
  4. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/regressors/xgb.py +23 -0
  5. {openstef-3.4.31 → openstef-3.4.32}/openstef.egg-info/PKG-INFO +1 -1
  6. {openstef-3.4.31 → openstef-3.4.32}/setup.py +1 -1
  7. {openstef-3.4.31 → openstef-3.4.32}/LICENSE +0 -0
  8. {openstef-3.4.31 → openstef-3.4.32}/README.md +0 -0
  9. {openstef-3.4.31 → openstef-3.4.32}/openstef/__init__.py +0 -0
  10. {openstef-3.4.31 → openstef-3.4.32}/openstef/__main__.py +0 -0
  11. {openstef-3.4.31 → openstef-3.4.32}/openstef/app_settings.py +0 -0
  12. {openstef-3.4.31 → openstef-3.4.32}/openstef/data/dutch_holidays_2020-2022.csv +0 -0
  13. {openstef-3.4.31 → openstef-3.4.32}/openstef/data/dutch_holidays_2020-2022.csv.license +0 -0
  14. {openstef-3.4.31 → openstef-3.4.32}/openstef/data/pv_single_coefs.csv +0 -0
  15. {openstef-3.4.31 → openstef-3.4.32}/openstef/data/pv_single_coefs.csv.license +0 -0
  16. {openstef-3.4.31 → openstef-3.4.32}/openstef/data_classes/__init__.py +0 -0
  17. {openstef-3.4.31 → openstef-3.4.32}/openstef/data_classes/data_prep.py +0 -0
  18. {openstef-3.4.31 → openstef-3.4.32}/openstef/data_classes/model_specifications.py +0 -0
  19. {openstef-3.4.31 → openstef-3.4.32}/openstef/data_classes/prediction_job.py +0 -0
  20. {openstef-3.4.31 → openstef-3.4.32}/openstef/data_classes/split_function.py +0 -0
  21. {openstef-3.4.31 → openstef-3.4.32}/openstef/enums.py +0 -0
  22. {openstef-3.4.31 → openstef-3.4.32}/openstef/exceptions.py +0 -0
  23. {openstef-3.4.31 → openstef-3.4.32}/openstef/feature_engineering/__init__.py +0 -0
  24. {openstef-3.4.31 → openstef-3.4.32}/openstef/feature_engineering/apply_features.py +0 -0
  25. {openstef-3.4.31 → openstef-3.4.32}/openstef/feature_engineering/data_preparation.py +0 -0
  26. {openstef-3.4.31 → openstef-3.4.32}/openstef/feature_engineering/feature_adder.py +0 -0
  27. {openstef-3.4.31 → openstef-3.4.32}/openstef/feature_engineering/feature_applicator.py +0 -0
  28. {openstef-3.4.31 → openstef-3.4.32}/openstef/feature_engineering/general.py +0 -0
  29. {openstef-3.4.31 → openstef-3.4.32}/openstef/feature_engineering/holiday_features.py +0 -0
  30. {openstef-3.4.31 → openstef-3.4.32}/openstef/feature_engineering/lag_features.py +0 -0
  31. {openstef-3.4.31 → openstef-3.4.32}/openstef/feature_engineering/weather_features.py +0 -0
  32. {openstef-3.4.31 → openstef-3.4.32}/openstef/metrics/__init__.py +0 -0
  33. {openstef-3.4.31 → openstef-3.4.32}/openstef/metrics/figure.py +0 -0
  34. {openstef-3.4.31 → openstef-3.4.32}/openstef/metrics/metrics.py +0 -0
  35. {openstef-3.4.31 → openstef-3.4.32}/openstef/metrics/reporter.py +0 -0
  36. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/__init__.py +0 -0
  37. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/basecase.py +0 -0
  38. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/confidence_interval_applicator.py +0 -0
  39. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/fallback.py +0 -0
  40. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/metamodels/__init__.py +0 -0
  41. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/metamodels/grouped_regressor.py +0 -0
  42. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/metamodels/missing_values_handler.py +0 -0
  43. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/model_creator.py +0 -0
  44. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/objective.py +0 -0
  45. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/objective_creator.py +0 -0
  46. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/regressors/__init__.py +0 -0
  47. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/regressors/arima.py +0 -0
  48. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/regressors/custom_regressor.py +0 -0
  49. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/regressors/dazls.py +0 -0
  50. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/regressors/flatliner.py +0 -0
  51. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/regressors/lgbm.py +0 -0
  52. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/regressors/linear.py +0 -0
  53. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/regressors/regressor.py +0 -0
  54. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/regressors/xgb_multioutput_quantile.py +0 -0
  55. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/regressors/xgb_quantile.py +0 -0
  56. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/serializer.py +0 -0
  57. {openstef-3.4.31 → openstef-3.4.32}/openstef/model/standard_deviation_generator.py +0 -0
  58. {openstef-3.4.31 → openstef-3.4.32}/openstef/model_selection/__init__.py +0 -0
  59. {openstef-3.4.31 → openstef-3.4.32}/openstef/model_selection/model_selection.py +0 -0
  60. {openstef-3.4.31 → openstef-3.4.32}/openstef/monitoring/__init__.py +0 -0
  61. {openstef-3.4.31 → openstef-3.4.32}/openstef/monitoring/performance_meter.py +0 -0
  62. {openstef-3.4.31 → openstef-3.4.32}/openstef/monitoring/teams.py +0 -0
  63. {openstef-3.4.31 → openstef-3.4.32}/openstef/pipeline/__init__.py +0 -0
  64. {openstef-3.4.31 → openstef-3.4.32}/openstef/pipeline/create_basecase_forecast.py +0 -0
  65. {openstef-3.4.31 → openstef-3.4.32}/openstef/pipeline/create_component_forecast.py +0 -0
  66. {openstef-3.4.31 → openstef-3.4.32}/openstef/pipeline/create_forecast.py +0 -0
  67. {openstef-3.4.31 → openstef-3.4.32}/openstef/pipeline/optimize_hyperparameters.py +0 -0
  68. {openstef-3.4.31 → openstef-3.4.32}/openstef/pipeline/train_create_forecast_backtest.py +0 -0
  69. {openstef-3.4.31 → openstef-3.4.32}/openstef/pipeline/train_model.py +0 -0
  70. {openstef-3.4.31 → openstef-3.4.32}/openstef/pipeline/utils.py +0 -0
  71. {openstef-3.4.31 → openstef-3.4.32}/openstef/postprocessing/__init__.py +0 -0
  72. {openstef-3.4.31 → openstef-3.4.32}/openstef/postprocessing/postprocessing.py +0 -0
  73. {openstef-3.4.31 → openstef-3.4.32}/openstef/preprocessing/__init__.py +0 -0
  74. {openstef-3.4.31 → openstef-3.4.32}/openstef/preprocessing/preprocessing.py +0 -0
  75. {openstef-3.4.31 → openstef-3.4.32}/openstef/settings.py +0 -0
  76. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/__init__.py +0 -0
  77. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/calculate_kpi.py +0 -0
  78. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/create_basecase_forecast.py +0 -0
  79. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/create_components_forecast.py +0 -0
  80. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/create_forecast.py +0 -0
  81. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/create_solar_forecast.py +0 -0
  82. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/create_wind_forecast.py +0 -0
  83. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/optimize_hyperparameters.py +0 -0
  84. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/split_forecast.py +0 -0
  85. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/train_model.py +0 -0
  86. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/utils/__init__.py +0 -0
  87. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/utils/dependencies.py +0 -0
  88. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/utils/predictionjobloop.py +0 -0
  89. {openstef-3.4.31 → openstef-3.4.32}/openstef/tasks/utils/taskcontext.py +0 -0
  90. {openstef-3.4.31 → openstef-3.4.32}/openstef/validation/__init__.py +0 -0
  91. {openstef-3.4.31 → openstef-3.4.32}/openstef/validation/validation.py +0 -0
  92. {openstef-3.4.31 → openstef-3.4.32}/openstef.egg-info/SOURCES.txt +0 -0
  93. {openstef-3.4.31 → openstef-3.4.32}/openstef.egg-info/dependency_links.txt +0 -0
  94. {openstef-3.4.31 → openstef-3.4.32}/openstef.egg-info/requires.txt +0 -0
  95. {openstef-3.4.31 → openstef-3.4.32}/openstef.egg-info/top_level.txt +0 -0
  96. {openstef-3.4.31 → openstef-3.4.32}/pyproject.toml +0 -0
  97. {openstef-3.4.31 → openstef-3.4.32}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openstef
3
- Version: 3.4.31
3
+ Version: 3.4.32
4
4
  Summary: Open short term energy forecaster
5
5
  Home-page: https://github.com/OpenSTEF/openstef
6
6
  Author: Alliander N.V
@@ -7,7 +7,7 @@ import numpy as np
7
7
  import pandas as pd
8
8
  from sklearn.impute import SimpleImputer
9
9
  from sklearn.preprocessing import FunctionTransformer
10
- from sklearn.utils.validation import check_array
10
+ from sklearn.utils.validation import check_array, check_is_fitted
11
11
 
12
12
 
13
13
  class MissingValuesTransformer:
@@ -42,6 +42,20 @@ class MissingValuesTransformer:
42
42
  self.missing_values = missing_values
43
43
  self.imputation_strategy = imputation_strategy
44
44
  self.fill_value = fill_value
45
+ self.is_fitted_ = False
46
+
47
+ # Build the proper imputation transformer
48
+ # - Identity function if strategy is None
49
+ # - SimpleImputer with the dedicated strategy
50
+ if self.imputation_strategy is None:
51
+ self.imputer_ = FunctionTransformer(func=self._identity)
52
+ else:
53
+ self.imputer_ = SimpleImputer(
54
+ missing_values=self.missing_values,
55
+ strategy=self.imputation_strategy,
56
+ fill_value=self.fill_value,
57
+ ).set_output(transform="pandas")
58
+ self.imputer_._validate_params()
45
59
 
46
60
  def fit(self, x, y=None):
47
61
  """Fit the imputer on the input data."""
@@ -56,23 +70,13 @@ class MissingValuesTransformer:
56
70
  is_column_null = x.isnull().all(axis="index")
57
71
  self.non_null_feature_names = list(x.columns[~is_column_null])
58
72
 
59
- # Build the proper imputation transformer
60
- # - Identity function if strategy is None
61
- # - SimpleImputer with the dedicated strategy
62
- if self.imputation_strategy is None:
63
- self.imputer_ = FunctionTransformer(func=self._identity)
64
- else:
65
- self.imputer_ = SimpleImputer(
66
- missing_values=self.missing_values,
67
- strategy=self.imputation_strategy,
68
- fill_value=self.fill_value,
69
- ).set_output(transform="pandas")
70
-
71
73
  # Imputers do not support labels
72
- self.imputer_.fit(X=x, y=None)
74
+ self.imputer_.fit(X=x[self.non_null_feature_names], y=None)
75
+ self.is_fitted_ = True
73
76
 
74
77
  def transform(self, x) -> pd.DataFrame:
75
78
  """Transform the input data by imputing missing values."""
79
+ check_is_fitted(self)
76
80
  _ = check_array(x, force_all_finite="allow-nan")
77
81
  if not isinstance(x, pd.DataFrame):
78
82
  x = pd.DataFrame(np.asarray(x))
@@ -231,7 +231,7 @@ class LinearQuantileOpenstfRegressor(OpenstfRegressor, RegressorMixin):
231
231
  return np.array(
232
232
  [
233
233
  reg_feature_importances_dict.get(c, 0)
234
- for c in self.imputer_.in_feature_names
234
+ for c in self.imputer_.non_null_feature_names
235
235
  ]
236
236
  )
237
237
 
@@ -1,6 +1,10 @@
1
1
  # SPDX-FileCopyrightText: 2017-2023 Contributors to the OpenSTEF project <korte.termijn.prognoses@alliander.com> # noqa E501>
2
2
  #
3
3
  # SPDX-License-Identifier: MPL-2.0
4
+ from typing import Optional
5
+
6
+ import numpy as np
7
+ from sklearn.base import RegressorMixin
4
8
 
5
9
  from xgboost import XGBRegressor
6
10
 
@@ -27,3 +31,22 @@ class XGBOpenstfRegressor(XGBRegressor, OpenstfRegressor):
27
31
  "gain_importance_name": "total_gain",
28
32
  "weight_importance_name": "weight",
29
33
  }
34
+
35
+ def fit(
36
+ self,
37
+ x: np.array,
38
+ y: np.array,
39
+ *,
40
+ early_stopping_rounds: Optional[int] = None,
41
+ callbacks: Optional[list] = None,
42
+ eval_metric: Optional[str] = None,
43
+ **kwargs
44
+ ):
45
+ if early_stopping_rounds is not None:
46
+ self.set_params(early_stopping_rounds=early_stopping_rounds)
47
+ if callbacks is not None:
48
+ self.set_params(callbacks=callbacks)
49
+ if eval_metric is not None:
50
+ self.set_params(eval_metric=eval_metric)
51
+
52
+ super().fit(x, y, **kwargs)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openstef
3
- Version: 3.4.31
3
+ Version: 3.4.32
4
4
  Summary: Open short term energy forecaster
5
5
  Home-page: https://github.com/OpenSTEF/openstef
6
6
  Author: Alliander N.V
@@ -29,7 +29,7 @@ def read_long_description_from_readme():
29
29
 
30
30
  setup(
31
31
  name="openstef",
32
- version="3.4.31",
32
+ version="3.4.32",
33
33
  packages=find_packages(include=["openstef", "openstef.*"]),
34
34
  description="Open short term energy forecaster",
35
35
  long_description=read_long_description_from_readme(),
File without changes
File without changes
File without changes
File without changes
File without changes