|
import joblib |
|
import pandas as pd |
|
|
|
|
|
model = joblib.load("time_slot_model.joblib") |
|
columns = joblib.load("columns.joblib") |
|
|
|
def preprocess_time(time_str): |
|
hour = int(time_str.split(':')[0]) |
|
if 'PM' in time_str and hour != 12: |
|
hour += 12 |
|
if 'AM' in time_str and hour == 12: |
|
hour = 0 |
|
return hour |
|
|
|
def categorize_time(hour): |
|
if 10 <= hour < 12: |
|
return 'morning' |
|
elif 12 <= hour < 14: |
|
return 'early_noon' |
|
elif 14 <= hour < 16: |
|
return 'noon' |
|
elif 16 <= hour < 17: |
|
return 'dusk' |
|
else: |
|
return 'other' |
|
|
|
def predict(user_name, user_input): |
|
|
|
user_input = pd.get_dummies(pd.Series([user_input]), prefix='Pref') |
|
user_input = user_input.reindex(columns=columns, fill_value=0) |
|
|
|
|
|
prediction = model.predict(user_input) |
|
return prediction[0] |
|
|
|
|