SURESHBEEKHANI's picture
Upload 33 files
52d98a1 verified
raw
history blame contribute delete
873 Bytes
import pickle
import pandas as pd
# import the ml model
with open('model/model.pkl', 'rb') as f:
model = pickle.load(f)
# MLFlow
MODEL_VERSION = '1.0.0'
# Get class labels from model (important for matching probabilities to class names)
class_labels = model.classes_.tolist()
def predict_output(user_input: dict):
df = pd.DataFrame([user_input])
# Predict the class
predicted_class = model.predict(df)[0]
# Get probabilities for all classes
probabilities = model.predict_proba(df)[0]
confidence = max(probabilities)
# Create mapping: {class_name: probability}
class_probs = dict(zip(class_labels, map(lambda p: round(p, 4), probabilities)))
return {
"predicted_category": predicted_class,
"confidence": round(confidence, 4),
"class_probabilities": class_probs
}