heartfailure / app.py
hackerbyhobby
app
c48f883 unverified
raw
history blame
1.24 kB
import gradio as gr
import pickle
import pandas as pd
# Load the trained model
model_path = "tuned_model.pkl"
def load_model():
"""Load the model from the pickle file."""
with open(model_path, "rb") as file:
return pickle.load(file)
# Prediction function
def predict_with_model(*inputs):
try:
model = load_model() # Load the model dynamically
# Create a DataFrame for prediction
input_data = pd.DataFrame([inputs], columns=features)
# Make prediction
prediction = model.predict(input_data)
return f"Prediction: {'Risk of Heart Failure' if prediction[0] == 1 else 'No Risk'}"
except Exception as e:
return f"Error during prediction: {str(e)}"
# Features derived from the CSV file
features = ["Feature1", "Feature2", "Feature3"] # Replace with actual feature names
# Create input sliders
input_sliders = [gr.Slider(0, 100, label=feature) for feature in features]
# Define Gradio interface
iface = gr.Interface(
fn=predict_with_model,
inputs=input_sliders,
outputs="text",
title="Heart Failure Prediction App",
description="Adjust the sliders to simulate feature values and predict heart failure risk.",
)
# Launch the app
iface.launch()