fault_detection / app.py
DevNumb's picture
Create app.py
90b337f verified
raw
history blame contribute delete
866 Bytes
import gradio as gr
import joblib
import pandas as pd
# Load models
model = joblib.load("isolation_forest_model.joblib")
scaler = joblib.load("standard_scaler.joblib")
features = joblib.load("features_to_scale.joblib")
def predict(*inputs):
try:
# Create dataframe
data = pd.DataFrame([inputs], columns=features)
# Scale
scaled = scaler.transform(data)
# Predict
prediction = model.predict(scaled)
if prediction[0] == -1:
return "Anomaly Detected"
else:
return "Normal"
except Exception as e:
return str(e)
# Create input fields dynamically
inputs = [gr.Number(label=f) for f in features]
demo = gr.Interface(
fn=predict,
inputs=inputs,
outputs="text",
title="Anomaly Detection API"
)
demo.launch(server_name="0.0.0.0", server_port=7860)