Spaces:
Runtime error
Runtime error
File size: 2,094 Bytes
8051e30 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
import pickle
import streamlit as stream
import numpy as np
import pandas as pd
#importing the model
with open("svm_model.pkl", 'rb') as model_file:
model = pickle.load(model_file)
#importing the scaler model
with open("scaler.pkl", 'rb') as scaler_file:
scaler = pickle.load(scaler_file)
log_df = pd.DataFrame(columns=['Engine rpm', 'Lub oil pressure', 'Fuel pressure', 'Coolant pressure', 'lub oil temp', 'Coolant temp', 'Prediction'])
def EngineHealth_predict(input_data, model, scaler, log_df):
columns = ['Engine rpm', 'Lub oil pressure', 'Fuel pressure', 'Coolant pressure', 'lub oil temp', 'Coolant temp']
input_df = pd.DataFrame([input_data], columns=columns)
input_array = np.array(input_df).reshape(1, -1)
input_scaled = scaler.transform(input_array)
prediction = model.predict(input_scaled)
if prediction[0] == 0:
health_status = "Engine is in Good Health!"
else:
health_status = "Engine is not in Good Health"
input_data.append(prediction[0])
log_df.loc[len(log_df)] = input_data
return health_status, log_df
stream.title("Engine Health Prediction")
engine_rpm = stream.number_input("Enter Engine rpm:", min_value=0.0, step=0.1)
lub_oil_pressure = stream.number_input("Enter Lub oil pressure:", min_value=0.0, step=0.1)
fuel_pressure = stream.number_input("Enter Fuel pressure:", min_value=0.0, step=0.1)
coolant_pressure = stream.number_input("Enter Coolant pressure:", min_value=0.0, step=0.1)
lub_oil_temp = stream.number_input("Enter Lub oil temp:", min_value=0.0, step=0.1)
coolant_temp = stream.number_input("Enter Coolant temp:", min_value=0.0, step=0.1)
if stream.button('Predict'):
input_data = [
engine_rpm,
lub_oil_pressure,
fuel_pressure,
coolant_pressure,
lub_oil_temp,
coolant_temp
]
health_status, log_df = EngineHealth_predict(input_data, model, scaler, log_df)
stream.write(f"Prediction: {health_status}")
# Display the log DataFrame
stream.write("Log of Predictions:")
stream.dataframe(log_df) |