SIENTIAPDE-1321: Formatted files

This commit is contained in:
Kou-Kinoshita
2025-10-29 10:24:25 -03:00
parent 734221e32d
commit 25ad4729f7
3 changed files with 21 additions and 16 deletions

1
.gitignore vendored
View File

@@ -145,6 +145,7 @@ celerybeat.pid
env/
venv/
ENV/
venv_311/
env.bak/
venv.bak/

View File

@@ -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)

View File

@@ -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',
}