Skip to content

Commit

Permalink
structure updated
Browse files Browse the repository at this point in the history
  • Loading branch information
sunnysavita10 committed Jan 10, 2024
1 parent 4000af1 commit c0d4a32
Show file tree
Hide file tree
Showing 6 changed files with 166 additions and 0 deletions.
26 changes: 26 additions & 0 deletions src/components/data_ingestion.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import pandas as pd
import numpy as np
from src.logger.logging import logging
from src.exception.exception import customexception


import os
import sys
from sklearn.model_selection import train_test_splits
from dataclasses import dataclass
from pathlib import Path

@dataclass
class DataIngestionConfig:
pass

class DataIngestion:
def __init__(self):
pass

def initiate_data_ingestion(self):
try:
pass
except Exception as e:
logging.info()
raise customexception(e,sys)
31 changes: 31 additions & 0 deletions src/components/data_transformation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import pandas as pd
import numpy as np
from src.logger.logging import logging
from src.exception.exception import customexception
import os
import sys
from dataclasses import dataclass
from pathlib import Path


from sklearn.compose import ColumnTransformer
from sklearn.impute import SimpleImputer
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import OrdinalEncoder,StandardScaler

from src.utils.utils import save_object

@dataclass
class DataTransformationConfig:
pass

class DataTransformation:
def __init__(self):
pass

def initiate_data_ingestion(self):
try:
pass
except Exception as e:
logging.info()
raise customexception(e,sys)
24 changes: 24 additions & 0 deletions src/components/model_evaluation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import os
import sys
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score
from urllib.parse import urlparse
import mlflow
import mlflow.sklearn
import numpy as np
import pickle
from src.DimondPricePrediction.utils.utils import load_object

@dataclass
class ModelEvaluationConfig:
pass

class ModelEvaluation:
def __init__(self):
pass

def initiate_model_evaluation(self):
try:
pass
except Exception as e:
logging.info()
raise customexception(e,sys)
28 changes: 28 additions & 0 deletions src/components/model_trainer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import pandas as pd
import numpy as np
from src.logger.logging import logging
from src.exception.exception import customexception
import os
import sys
from dataclasses import dataclass
from pathlib import Path

from src.utils.utils import save_object,evaluate_model

from sklearn.linear_model import LinearRegression, Ridge,Lasso,ElasticNet


@dataclass
class ModelTrainerConfig:
pass

class ModelTrainer:
def __init__(self):
pass

def initate_model_training(self):
try:
pass
except Exception as e:
logging.info()
raise customexception(e,sys)
1 change: 1 addition & 0 deletions src/logger/logging.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@
format="[%(asctime)s] %(lineno)d %(name)s - %(levelname)s - %(message)s"

)
#[2024-01-10 15:57:26,997] 6 root - INFO - this my second tesgting


56 changes: 56 additions & 0 deletions src/utils/utils.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import os
import sys
import pickle
import numpy as np
import pandas as pd
from src.logger.logging import logging
from src.exception.exception import customexception

from sklearn.metrics import r2_score, mean_absolute_error,mean_squared_error

def save_object(file_path, obj):
try:
dir_path = os.path.dirname(file_path)

os.makedirs(dir_path, exist_ok=True)

with open(file_path, "wb") as file_obj:
pickle.dump(obj, file_obj)

except Exception as e:
raise customexception(e, sys)

def evaluate_model(X_train,y_train,X_test,y_test,models):
try:
report = {}
for i in range(len(models)):
model = list(models.values())[i]
# Train model
model.fit(X_train,y_train)



# Predict Testing data
y_test_pred =model.predict(X_test)

# Get R2 scores for train and test data
#train_model_score = r2_score(ytrain,y_train_pred)
test_model_score = r2_score(y_test,y_test_pred)

report[list(models.keys())[i]] = test_model_score

return report

except Exception as e:
logging.info('Exception occured during model training')
raise customexception(e,sys)

def load_object(file_path):
try:
with open(file_path,'rb') as file_obj:
return pickle.load(file_obj)
except Exception as e:
logging.info('Exception Occured in load_object function utils')
raise customexception(e,sys)


0 comments on commit c0d4a32

Please sign in to comment.