tam3222's picture
Upload folder using huggingface_hub
c43fa34 verified
import streamlit as st
import pandas as pd
from huggingface_hub import hf_hub_download
import joblib
import os
from huggingface_hub import HfApi, login
HF_TOKEN = os.getenv("HF_TOKEN") # Optional if repo is public
model_path = hf_hub_download(
repo_id="tam3222/Engine_Model",
filename="models/RandomForest.pkl",
repo_type="model",
token=HF_TOKEN # can be None for public repos
)
# Load the model
model = joblib.load(model_path)
# Streamlit UI for Customer Conversion Prediction
st.title("Predictive Maintenance App")
st.write("This app predicts the engine condition.")
st.write("Please enter the customer details below:")
# Collect user input
engine_rpm = st.number_input("Engine_RPM", min_value=0, value=700)
lub_oil_pressure = st.number_input("Pressure of the lubricating oil in the engine(kPa)", min_value=0, value=3)
fuel_pressure = st.number_input("Pressure at which fuel is supplied to the engine(kPa)", min_value=0, value=3)
coolant_pressure = st.number_input("Coolant_Pressure(kPa)", min_value=0, value=2)
lub_oil_temperature = st.number_input("Temperature of the lubricating oil (°C) ", value=75)
coolant_temperature = st.number_input("Coolant_Temperature (°C)", value=78)
# Prepare input DataFrame
input_data = pd.DataFrame([{
'engine_rpm': engine_rpm,
'lub_oil_pressure': lub_oil_pressure,
'fuel_pressure': fuel_pressure,
'coolant_pressure': coolant_pressure,
'lub_oil_temperature': lub_oil_temperature,
'coolant_temperature': coolant_temperature,
}])
# Classification threshold
classification_threshold = 0.45
# Predict button
if st.button("Predict"):
prediction_proba = model.predict_proba(input_data)[0, 1]
prediction = (prediction_proba >= classification_threshold).astype(int)
result = "Faulty" if prediction == 1 else "Healthy"
st.write(f"Based on the information provided, the engine is {result}.")