- Made `date_column` a required field in `TrainModelParams`, ensuring it must be present in the input data. - Updated related documentation in `input-sample.md`, `README.md`, and various test scenarios to reflect the change in requirement. - Adjusted the handling of `date_format` to default to `yyyy-MM-dd HH:mm:ss` if omitted, enhancing usability. - Refined test scenarios to include new examples and ensure compliance with the updated parameter structure. These changes improve the robustness of the model training workflow and clarify the expectations for input data.
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
|
|
from sientia_model.wrappers.sientia_model import SientiaModel
|
|
import pandas as pd
|
|
import numpy as np
|
|
from typing import Any
|
|
|
|
class DummyWrapper(SientiaModel):
|
|
def _predict(self, data: pd.DataFrame) -> tuple[pd.DataFrame, dict[str, Any]]:
|
|
self._log("info", f"Predicting dummy model for {self.model_type}")
|
|
# Return a simple prediction (mean or 0.5) to allow metrics computation
|
|
preds = pd.DataFrame({self.target: [0.5] * len(data)}, index=data.index)
|
|
return preds, {}
|
|
|
|
def _transform(self, data: pd.DataFrame) -> tuple[pd.DataFrame, dict[str, Any]]:
|
|
return data, {}
|
|
|
|
def _train_transformer(self, train_data: pd.DataFrame, val_data: pd.DataFrame) -> None:
|
|
pass
|
|
|
|
def _train_model(self, x: pd.DataFrame, y: pd.DataFrame, x_val: pd.DataFrame | None = None, y_val: pd.DataFrame | None = None) -> None:
|
|
self.target = y.columns[0]
|
|
|
|
def _retrain_transformer(self, data: pd.DataFrame) -> None:
|
|
pass
|
|
|
|
def _retrain_model(self, x: pd.DataFrame, y: pd.DataFrame | None) -> None:
|
|
pass
|