BOJANAPALLY's picture
Update app.py
ea16b12 verified
import pandas as pd
import streamlit as st
import pickle
# Load Model
try:
with open("classification pickle (1).pkl", "rb") as f:
model = pickle.load(f)
st.success("βœ… Model loaded successfully!")
except FileNotFoundError:
st.error("❌ Model file not found! Please upload `classification pickle.pkl`.")
model = None
# Title
st.markdown("<h1 style='text-align: center; color: green;'>Rice Class Predictor</h1>", unsafe_allow_html=True)
# User Inputs
with st.expander("πŸ”Ή **Enter Property Details**", expanded=True):
Area = st.number_input("Area", min_value=2522.0, max_value=10210.0, value=6660.0)
MajorAxisLength = st.number_input("Major Axis Length", min_value=74.13, max_value=183.21, value=153.88)
MinorAxisLength = st.number_input("Minor Axis Length", min_value=34.40, max_value=82.55, value=55.72)
Eccentricity = st.number_input("Eccentricity", min_value=0.67, max_value=0.97, value=0.92)
ConvexArea = st.number_input("Convex Area", min_value=2579.0, max_value=11008.0, value=6843.0)
EquivDiameter = st.number_input("Equivalent Diameter", min_value=56.66, max_value=114.01, value=92.08)
Extent = st.number_input("Extent", min_value=0.38, max_value=0.89, value=0.60)
Perimeter = st.number_input("Perimeter", min_value=197.01, max_value=508.51, value=353.08)
Roundness = st.number_input("Roundness", min_value=0.17, max_value=0.90, value=0.70)
AspectRation = st.number_input("Aspect Ration", min_value=1.35, max_value=3.91, value=2.60)
st.write("**Jasmine-1, Gonen-1**")
# Prediction Button
if st.button("πŸ” Predict Class"):
if model is not None:
input_data = pd.DataFrame([[Area, MajorAxisLength, MinorAxisLength, Eccentricity,
ConvexArea, EquivDiameter, Extent, Perimeter,
Roundness, AspectRation]],
columns=["Area", "MajorAxisLength", "MinorAxisLength",
"Eccentricity", "ConvexArea", "EquivDiameter",
"Extent", "Perimeter", "Roundness", "AspectRation"])
try:
predicted_class = model.predict(input_data)[0]
st.markdown(f"<div style='text-align: center; font-size: 20px; font-weight: bold; color: blue;'>Predicted Class: {predicted_class:.2f}</div>", unsafe_allow_html=True)
except ValueError as e:
st.error(f"❌ Error during prediction: {e}")