feat: add experiment_name to TrainModelResult and update training logic

- Introduced experiment_name parameter in TrainModelResult to enhance tracking of training experiments.
- Updated the Training class to utilize run_name and experiment_name for improved MLflow run management.
This commit is contained in:
2026-04-16 09:43:39 -03:00
parent c75a5921f3
commit 1e05ebe147
3 changed files with 8 additions and 5 deletions

View File

@@ -44,6 +44,7 @@ class TrainModelResult:
equation: dict | None = None
equation_path: str | None = None
run_name: str | None = None
experiment_name: str | None = None
run_id: str | None = None
report_path: str | None = None
train_data_path: str | None = None

View File

@@ -20,6 +20,7 @@ from os import makedirs, path
from shutil import rmtree
from typing import Any
from mlflow.entities import experiment
import numpy as np
import pandas as pd
from sientia_do.observability.logger import Logger
@@ -200,9 +201,10 @@ class DataManagerRepository(SientiaMonitoring):
metadata,
)
run_name = f'train_model_{params.model_type}_{params.model_name}_{params.experiment_run_id}'
experiment_name = f'train_model_{params.model_type}_{params.model_name}_{params.experiment_run_id}'
run_name = f'{experiment_name}_{datetime.now().strftime("%Y%m%d_%H%M%S")}'
return TrainModelResult(params=params, train_data=train_data, val_data=val_data, run_name=run_name)
return TrainModelResult(params=params, train_data=train_data, val_data=val_data, run_name=run_name, experiment_name=experiment_name)
def _as_series(self, pred: pd.DataFrame | pd.Series) -> pd.Series:
if isinstance(pred, pd.Series):