FibroPred / scripts /model_utils.py
amonfortc's picture
Upload 3 files
6a9ff1a verified
import os
import joblib
def load_all_models(models_dir="models"):
"""
Load all models and their features from the given directory.
"""
models = {}
features = {}
if not os.path.exists(models_dir):
raise FileNotFoundError(f"Models directory '{models_dir}' not found.")
for model_file in os.listdir(models_dir):
if model_file.endswith(".pkl"):
model_name = os.path.splitext(model_file)[0]
data = joblib.load(os.path.join(models_dir, model_file))
models[model_name] = data['model']
features[model_name] = data['features']
print(f"Model '{model_name}' loaded successfully with features: {features[model_name]}")
return models, features
def predict_with_model(model, input_data):
"""
Predict using a loaded model.
Parameters:
- model: The loaded model.
- input_data: A dictionary or Pandas DataFrame row containing input features.
Returns:
- prediction: Model prediction.
"""
prediction = model.predict([input_data])
return int(prediction[0])