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])