From 25ad4729f727f373666913fa64998f2fb5cc886e Mon Sep 17 00:00:00 2001 From: Kou-Kinoshita Date: Wed, 29 Oct 2025 10:24:25 -0300 Subject: [PATCH] SIENTIAPDE-1321: Formatted files --- .gitignore | 1 + .../utils/repository/model_repository.py | 2 +- .../utils/repository/training_repository.py | 34 +++++++++++-------- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 312e581..d83c556 100644 --- a/.gitignore +++ b/.gitignore @@ -145,6 +145,7 @@ celerybeat.pid env/ venv/ ENV/ +venv_311/ env.bak/ venv.bak/ diff --git a/model_manager/utils/repository/model_repository.py b/model_manager/utils/repository/model_repository.py index 13aeda8..ab1b093 100644 --- a/model_manager/utils/repository/model_repository.py +++ b/model_manager/utils/repository/model_repository.py @@ -224,7 +224,7 @@ class ModelRepository: self.model_serving.log_artifact(data.report_path) self.model_serving.log_artifact(data.train_data_path) self.model_serving.log_artifact(data.test_data_path) - + # Log equation artifact if available if data.equation_path and path.exists(data.equation_path): self.model_serving.log_artifact(data.equation_path) diff --git a/model_manager/utils/repository/training_repository.py b/model_manager/utils/repository/training_repository.py index 64f4806..55b7ec2 100644 --- a/model_manager/utils/repository/training_repository.py +++ b/model_manager/utils/repository/training_repository.py @@ -175,10 +175,10 @@ class TrainingRepository: ) tmr.r2_val = round(r2(tmr.y_test.astype(np.float64), tmr.y_pred.astype(np.float64)), 2) - + # Extract model equation tmr.equation = self._extract_model_equation(tmr.regr, params) - + self.logger.info( f'Model metrics calculated successfully - experiment run id: {params.experiment_run_id}' ) @@ -254,18 +254,20 @@ class TrainingRepository: ar_var=params.target_variable if params.include_ar else None, ) - def _extract_model_equation(self, regr: LinearRegressionModel, params: TrainModelParams) -> dict: + def _extract_model_equation( + self, regr: LinearRegressionModel, params: TrainModelParams + ) -> dict: """ Extract the linear regression equation coefficients and create equation metadata. - + This method extracts the coefficients and intercept from the trained model and creates a structured dictionary containing the equation information for serialization as JSON artifact. - + Args: regr: Trained LinearRegressionModel object params: Training parameters containing variable information - + Returns: dict: Equation metadata containing: - target_variable: Name of the target variable @@ -276,25 +278,27 @@ class TrainingRepository: """ coefficients = regr.regr.coef_ intercept = regr.regr.intercept_ - + # Create coefficients dictionary coefficients_dict = {} for i, var in enumerate(params.variable_columns): coefficients_dict[var] = float(coefficients[i]) - + # Create equation string - equation_parts = [f"{coef:.6f} * {var}" for var, coef in coefficients_dict.items()] - equation_string = f"{params.target_variable} = {intercept:.6f} + " + " + ".join(equation_parts) - + equation_parts = [f'{coef:.6f} * {var}' for var, coef in coefficients_dict.items()] + equation_string = f'{params.target_variable} = {intercept:.6f} + ' + ' + '.join( + equation_parts + ) + # Create LaTeX equation - latex_parts = [f"{coef:.6f} \\cdot {var}" for var, coef in coefficients_dict.items()] - latex_equation = f"{params.target_variable} = {intercept:.6f} + " + " + ".join(latex_parts) - + latex_parts = [f'{coef:.6f} \\cdot {var}' for var, coef in coefficients_dict.items()] + latex_equation = f'{params.target_variable} = {intercept:.6f} + ' + ' + '.join(latex_parts) + return { 'target_variable': params.target_variable, 'coefficients': coefficients_dict, 'intercept': float(intercept), 'equation_string': equation_string, 'latex_equation': latex_equation, - 'model_type': 'Linear Regression' + 'model_type': 'Linear Regression', }