Spaces:
Sleeping
Sleeping
from src.utils import load_Obj | |
from src.utils import CustomException | |
import sys | |
import pandas as pd | |
class Predict_Pipeline(): | |
model_path = "artifact/model.pkl" | |
preprocessor_path = "artifact/Preprocessor.pkl" | |
def __init__(self): | |
print("model is loading") | |
self.model = load_Obj(self.model_path) | |
self.preprocessor = load_Obj(self.preprocessor_path) | |
print("model is loaded") | |
def predict(self, | |
gender: str, | |
race_ethnicity: str, | |
parental_level_of_education:str, | |
lunch: str, | |
test_preparation_course: str, | |
reading_score: int, | |
writing_score: int): | |
print("data is loading ") | |
data = CustomData( | |
gender, | |
race_ethnicity, | |
parental_level_of_education, | |
lunch, | |
test_preparation_course, | |
reading_score, | |
writing_score).get_data_as_data_frame() | |
print("data is loaded") | |
data_scaled = self.preprocessor.transform(data) | |
pred = self.model.predict(data_scaled) | |
print("prediction done") | |
return pred | |
class CustomData: | |
def __init__( self, | |
gender: str, | |
race_ethnicity: str, | |
parental_level_of_education, | |
lunch: str, | |
test_preparation_course: str, | |
reading_score: int, | |
writing_score: int): | |
self.gender = gender | |
self.race_ethnicity = race_ethnicity | |
self.parental_level_of_education = parental_level_of_education | |
self.lunch = lunch | |
self.test_preparation_course = test_preparation_course | |
self.reading_score = reading_score | |
self.writing_score = writing_score | |
def get_data_as_data_frame(self): | |
try: | |
custom_data_input_dict = { | |
"gender": [self.gender], | |
"race_ethnicity": [self.race_ethnicity], | |
"parental_level_of_education": [self.parental_level_of_education], | |
"lunch": [self.lunch], | |
"test_preparation_course": [self.test_preparation_course], | |
"reading_score": [self.reading_score], | |
"writing_score": [self.writing_score], | |
} | |
return pd.DataFrame(custom_data_input_dict) | |
except Exception as e: | |
raise CustomException(e, sys) | |