Abeshith's picture
Add pipeline stages implementation
a7d80f2
from dataclasses import dataclass
from pathlib import Path
@dataclass(frozen=True)
class DataIngestionConfig:
root_dir: Path
source_url: str
local_data_file: Path
unzip_dir: Path
@dataclass(frozen=True)
class DataValidationConfig:
root_dir: Path
data_dir: Path
status_file: Path
schema_file: Path
@dataclass(frozen=True)
class DataTransformationConfig:
root_dir: Path
data_path: Path
train_path: Path
test_path: Path
test_size: float
random_state: int
@dataclass(frozen=True)
class FeatureEngineeringConfig:
root_dir: Path
train_path: Path
test_path: Path
output_train_path: Path
output_test_path: Path
@dataclass(frozen=True)
class ModelTrainerConfig:
root_dir: Path
train_data_path: Path
test_data_path: Path
model_path: Path
target_column: str
automl_library: str
@dataclass(frozen=True)
class ModelEvaluationConfig:
root_dir: Path
model_path: Path
test_data_path: Path
metrics_file: Path
target_column: str
automl_library: str
@dataclass(frozen=True)
class ModelPusherConfig:
root_dir: Path
model_path: Path
model_registry_path: Path