IrisPrediction / app.py
Vishnurak's picture
Update app.py
7fb127c
import joblib
import pandas as pd
import streamlit as st
from PIL import Image
image = Image.open('iris.png')
image_setosa = Image.open('Irissetosa.jpg')
image_virginica = Image.open('iris_virginica.jpg')
image_versicolor = Image.open('versicolor.jpg')
st.image(image, caption='Iris')
model = joblib.load('model_XG.joblib')
def main():
st.title("Iris's Class")
with st.form("questionaire"):
sepal_length = st.slider("Sepal_length(cm)", 0.0, 10.0, 0.1)
sepal_width = st.slider("Sepal_width(cm)", 0.0, 10.0, 0.1)
petal_length = st.slider("Petal_length(cm)", 0.0, 10.0, 0.1)
petal_width = st.slider("Petal_width(cm)", 0.0, 10.0, 0.1)
# clicked==True only when the button is clicked
clicked = st.form_submit_button("Predict class")
if clicked:
result=model.predict(pd.DataFrame({"sepal.length": [sepal_length],
"sepal.width": [sepal_width],
"petal.length": [petal_length],
"petal.width": [petal_width]}))
# Show prediction
if result[0] == 0:
result = "Iris-setosa"
st.image(image_setosa, caption='Iris Setosa', width = 350)
elif result[0] == 1:
result = "Iris-versicolor"
st.image(image_versicolor, caption='Iris Versicolor', width = 350)
else:
result = "Iris-virginica"
st.image(image_virginica, caption='Iris Virginica', width = 350)
st.write(f"Your predicted class is {result}")
if __name__ == '__main__':
main()