File size: 912 Bytes
aba2f7b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | from dataclasses import dataclass , field
from typing import Optional
@dataclass
class DataIngestionArtifact:
feature_store_path:str
@dataclass
class DataValidationArtifact:
valid_data_file_path: str # Required field (must be before default fields)
drift_report_file_path: Optional[str] = field(default=None)
validation_status: Optional[bool] = field(default=None)
@dataclass
class DataTransformationArtifact:
transformed_object_file_path: str
transformed_train_file_path: str
transformed_test_file_path: str
@dataclass
class RegressionMetricArtifact:
mae: float # Mean Absolute Error
mse: float # Mean Squared Error
rmse: float # Root Mean Squared Error
r2: float # R² Score
@dataclass
class ModelTrainerArtifact:
trained_model_file_path: str
train_metric_artifact: RegressionMetricArtifact
test_metric_artifact: RegressionMetricArtifact |