sree4411's picture
Update app.py
4fad8c0 verified
import streamlit as st
import pandas as pd
import pickle
# Load the saved model
with open('weather_classifier_model.pkl', 'rb') as file:
loaded_model = pickle.load(file)
# Streamlit app
st.title(":red[🌦️ Weather Prediction App]")
# Input features
temperature = st.number_input("Temperature (°C)", min_value=-50.0, max_value=50.0, step=0.1)
humidity = st.number_input("Humidity (%)", min_value=0.0, max_value=100.0, step=0.1)
wind_speed = st.number_input("Wind Speed (km/h)",min_value=0, max_value=150, value=10)
cloud_cover = st.selectbox("Cloud Cover", ['partly cloudy', 'clear', 'overcast', 'cloudy'])
precipitation = st.number_input("Precipitation (%)",min_value=0, max_value=100, value=10)
uv_index = st.number_input("UV Index", min_value=0, max_value=15, value=5)
visibility = st.number_input("Visibility (km)",min_value=0, max_value=50, value=10)
season = st.selectbox("Season", ['Winter', 'Spring', 'Summer', 'Autumn']) # Updated season options
location = st.selectbox("Location", ["inland", "mountain", "coastal"])
# Create input DataFrame
input_data = pd.DataFrame({
"Temperature": [temperature],
"Humidity": [humidity],
"Wind Speed": [wind_speed],
"Cloud Cover": [cloud_cover],
"Precipitation (%)": [precipitation],
"UV Index": [uv_index],
"Visibility (km)": [visibility],
"Season": [season],
"Location": [location]
})
# Make prediction
if st.button(":blue[Predict]"):
prediction = loaded_model.predict(input_data)[0]
st.success(f"Predicted Weather Type: {prediction}")