sulabhag's picture
Update app.py
8434eb3 verified
Raw
History Blame Contribute Delete
2.13 kB
import streamlit as st
import pandas as pd
from huggingface_hub import hf_hub_download
import joblib
# Download the model from the Model Hub
model_path = hf_hub_download(repo_id="sulabhag/predictivemaintenance", filename="best_model_v1.joblib")
# Load the model
model = joblib.load(model_path)
# Streamlit UI for Customer Churn Prediction
st.title("Predictive Maintenance App")
st.write("The Predictive Maintenance App is to predict machine failure based on sensor data.")
st.write("Kindly enter the sensor details to check whether machine is like to fail or not")
# Collect Machine input
Engine_rpm = st.number_input("Engine RPM (Engine speed in revolutions per minute)",min_value=0, max_value = 3000, value = 791)
Lub_oil_pressure = st.number_input("Lub oil pressure (Pressure of the lub oil in the engine)",min_value=0.001, max_value = 8.000, value = 3.300)
Fuel_pressure = st.number_input("Fuel pressure (Pressure of the fuel in the engine)",min_value=0.00, max_value = 22.00, value = 6.65)
Coolant_pressure = st.number_input("Coolant pressure (Pressure of the coolant in the engine)",min_value = 0.01, max_value = 8.00, value = 2.33)
Lub_oil_temp = st.number_input("Lub oil temperature (Temperature of the lub oil in the engine)",min_value = 70.00, max_value = 90.00, value = 77.64)
Coolant_temp = st.number_input("Coolant temperature (Temperature of the coolant in the engine)",min_value =60.00, max_value = 200.00, value = 78.42)
# Convert categorical inputs to match model training
input_data = pd.DataFrame([{
'Engine rpm': Engine_rpm,
'Lub oil pressure': Lub_oil_pressure,
'Fuel pressure': Fuel_pressure,
'Coolant pressure': Coolant_pressure,
'lub oil temp': Lub_oil_temp,
'Coolant temp': Coolant_temp
}])
# Set the classification threshold
# classification_threshold = 0.45
# Predict button
if st.button("Predict"):
prediction = model.predict(input_data)
# prediction = (prediction_proba >= classification_threshold).astype(int)
result = "failure" if prediction == 1 else "not fail"
st.write(f"Based on the information provided, the machine is likely to {result}.")