HousePricePredictor / src /entity /config_entity.py
VashuTheGreat's picture
Added
51f7cb3
from dataclasses import dataclass
from src.constants import *
import os
from datetime import datetime
TIMESTAMP: str = datetime.now().strftime("%m_%d_%Y_%H_%M_%S")
@dataclass
class TrainingPipelineConfig:
pipeline_name: str = PIPELINE_NAME
artifact_dir: str = os.path.join(ARTIFACT_DIR, TIMESTAMP)
timestamp: str = TIMESTAMP
training_pipeline_config:TrainingPipelineConfig=TrainingPipelineConfig()
@dataclass
class DataIngestionConfig:
data_ingestion_dir: str = os.path.join(training_pipeline_config.artifact_dir, DATA_INGESTION_DIR_NAME)
feature_store_file_path: str = os.path.join(data_ingestion_dir, DATA_INGESTION_FEATURE_STORE_DIR, FILE_NAME)
training_file_path: str = os.path.join(data_ingestion_dir, DATA_INGESTION_INGESTED_DIR, TRAIN_FILE_NAME)
testing_file_path: str = os.path.join(data_ingestion_dir, DATA_INGESTION_INGESTED_DIR, TEST_FILE_NAME)
train_test_split_ratio: float = DATA_INGESTION_TRAIN_TEST_SPLIT_RATIO
collection_name:str = DATA_INGESTION_COLLECTION_NAME
@dataclass
class DataValidationConfig:
data_validation_dir:str=os.path.join(training_pipeline_config.artifact_dir,DATA_VALIDATION_DIR_NAME)
validation_report_file_path:str=os.path.join(data_validation_dir,DATA_VALIDATION_REPORT_FILE_NAME)
@dataclass
class DataTransformationConfig:
data_transformation_dir:str=os.path.join(training_pipeline_config.artifact_dir,DATA_TRANSFORMATION_DIR)
transformed_train_file_path:str=os.path.join(data_transformation_dir,TRANSFORMED_TRAIN_FILE_PATH)
transformed_test_file_path:str=os.path.join(data_transformation_dir,TRANSFORMED_TEST_FILE_PATH)
transformed_object_file_path:str=os.path.join(data_transformation_dir,TRANSFORMED_OBJECT_FILE_PATH)
@dataclass
class ModelTrainerConfig:
model_trainer_dir: str = os.path.join(training_pipeline_config.artifact_dir, MODEL_TRAINER_DIR_NAME)
trained_model_file_path: str = os.path.join(model_trainer_dir, MODEL_TRAINER_TRAINED_MODEL_DIR, MODEL_FILE_NAME)
expected_accuracy: float = MODEL_TRAINER_EXPECTED_SCORE
model_config_file_path: str = MODEL_TRAINER_MODEL_CONFIG_FILE_PATH
n_estimators = MODEL_TRAINER_N_ESTIMATORS
min_samples_split = MODEL_TRAINER_MIN_SAMPLES_SPLIT
min_samples_leaf = MODEL_TRAINER_MIN_SAMPLES_LEAF
max_depth = MIN_SAMPLES_SPLIT_MAX_DEPTH
criterion = MIN_SAMPLES_SPLIT_CRITERION
random_state = MIN_SAMPLES_SPLIT_RANDOM_STATE