Water-Quality-1 / apps.py
tegarganang's picture
update
7f1091b
import streamlit as st
import joblib
import numpy as np
import pandas as pd
# Load the models
ph_model = joblib.load('random_forest_ph_model.pkl')
tds_model = joblib.load('random_forest_tds_model.pkl')
# Streamlit app title
st.title("TDS and pH Level Predictor")
# Sidebar for user inputs
st.sidebar.header("Input Parameters")
# Collect user inputs for date details
day = st.sidebar.number_input("Day", min_value=1, max_value=31, value=1)
month = st.sidebar.number_input("Month", min_value=1, max_value=12, value=1)
year = st.sidebar.number_input("Year", min_value=2000, max_value=2100, value=2024)
# Prediction button
if st.button("Predict"):
# Generate hourly features
hours = list(range(6, 22))
day_input = [day] * len(hours)
month_input = [month] * len(hours)
year_input = [year] * len(hours)
# Create feature array for prediction
features = np.array([hours, day_input, month_input, year_input]).T
# Predict pH and TDS values
ph_predictions = ph_model.predict(features)
tds_predictions = tds_model.predict(features)
# Compile results into a DataFrame for better visualization
results_df = pd.DataFrame({
'Hour': hours,
'Predicted pH': ph_predictions,
'Predicted TDS': tds_predictions
})
# Display predictions
st.write("### Predictions")
st.dataframe(results_df)