Spaces:
Paused
Paused
import streamlit as st | |
import pandas as pd | |
import pickle | |
import sklearn # Ensure scikit-learn is imported | |
# Load the pre-trained model | |
try: | |
with open('logreg_model.pkl', 'rb') as model_file: | |
model = pickle.load(model_file) | |
except Exception as e: | |
st.error("Failed to load model. Ensure that the scikit-learn version matches the one used to create the model file.") | |
st.error(f"Error Details: {e}") | |
st.stop() | |
st.title('Iris Variety Prediction') | |
# User Input Form | |
with st.form(key='form_parameters'): | |
sepal_length = st.slider('Sepal Length (cm)', 4.0, 8.0, 5.0) | |
sepal_width = st.slider('Sepal Width (cm)', 2.0, 4.5, 3.0) | |
petal_length = st.slider('Petal Length (cm)', 1.0, 7.0, 1.5) | |
petal_width = st.slider('Petal Width (cm)', 0.1, 2.5, 0.2) | |
st.markdown('---') | |
submitted = st.form_submit_button('Predict') | |
# Data Inference | |
if submitted: | |
# Create DataFrame for prediction | |
data_inf = { | |
'Id': 0, | |
'SepalLengthCm': sepal_length, | |
'SepalWidthCm': sepal_width, | |
'PetalLengthCm': petal_length, | |
'PetalWidthCm': petal_width | |
} | |
data_inf = pd.DataFrame([data_inf]) | |
# Predict using the model | |
try: | |
y_pred_inf = model.predict(data_inf) | |
st.write('## Iris Variety: **' + str(y_pred_inf[0]) + '**') | |
except Exception as e: | |
st.error("Prediction failed. Please ensure the input format is correct and compatible with the model.") | |
st.error(f"Error Details: {e}") | |