# app.py import streamlit as st import pandas as pd import numpy as np import prediction import eda # Import the eda module # Set up the main structure of the app def main(): st.title("Rainfall Prediction in Australia") st.write("This app predicts whether it will rain tomorrow in Australia based on weather data.") # Sidebar navigation st.sidebar.title("Navigation") app_mode = st.sidebar.selectbox("Choose the app mode", ["Home", "Exploratory Data Analysis", "Make a Prediction"]) if app_mode == "Home": st.write("Welcome to the Weather Forecasting Application!") st.write("Navigate to different sections using the sidebar.") elif app_mode == "Exploratory Data Analysis": st.subheader("Exploratory Data Analysis") # Call the EDA function from eda.py eda.main() # Call the main function from eda.py elif app_mode == "Make a Prediction": st.subheader("Make a Prediction") # Get user input for prediction user_input = get_user_input() if st.button("Predict"): # Call the prediction function from prediction.py result = prediction.predict_rainfall(*user_input) st.write(f"Prediction: {'It will rain tomorrow.' if result else 'No rain tomorrow.'}") def get_user_input(): humidity_3pm = st.number_input('Humidity at 3 PM', min_value=0, max_value=100, value=50) rainfall = st.number_input('Rainfall (mm)', min_value=0.0, max_value=1000.0, value=0.0) rain_today = st.selectbox('Did it rain today?', options=['Yes', 'No']) temp_range = st.number_input('Temperature Range (°C)', min_value=0.0, max_value=50.0, value=10.0) wind_gust_speed = st.number_input('Wind Gust Speed (km/h)', min_value=0, max_value=100, value=20) pressure_9am = st.number_input('Pressure at 9 AM (hPa)', min_value=980, max_value=1040, value=1010) avg_pressure = st.number_input('Average Daily Pressure (hPa)', min_value=980, max_value=1040, value=1010) humidity_change = st.number_input('Change in Humidity', min_value=-100, max_value=100, value=0) avg_humidity = st.number_input('Average Daily Humidity', min_value=0, max_value=100, value=50) return humidity_3pm, rainfall, rain_today, temp_range, wind_gust_speed, pressure_9am, avg_pressure, humidity_change, avg_humidity if __name__ == "__main__": main()