import joblib | |
import pandas as pd | |
from sklearn.preprocessing import LabelEncoder | |
# Load the trained model | |
model = joblib.load('time_slot_model.joblib') | |
# Load the LabelEncoder used in training (if applicable) | |
# label_encoder = joblib.load('label_encoder.joblib') # Uncomment if you used a LabelEncoder | |
def preprocess_input(user_pref): | |
# Example preprocessing; adjust based on your actual preprocessing steps | |
user_input = pd.get_dummies(pd.Series([user_pref]), prefix='Pref') | |
return user_input | |
def predict(user_pref): | |
# Preprocess the input | |
user_input = preprocess_input(user_pref) | |
# Ensure the input has the same columns as the training data | |
user_input = user_input.reindex(columns=model.feature_importances_, fill_value=0) | |
# Make a prediction | |
prediction = model.predict(user_input) | |
return prediction[0] | |
# Example usage: | |
# user_pref = 'noon' # Replace with actual user preference | |
# prediction = predict(user_pref) | |
# print(f"Predicted next rescheduled time: {prediction}") | |