| import streamlit as st | |
| import pandas as pd | |
| import seaborn as sns | |
| import numpy as np | |
| from sklearn import datasets | |
| from sklearn.ensemble import RandomForestClassifier | |
| iris = datasets.load_iris() | |
| X=iris.data | |
| y=iris.target | |
| clf= RandomForestClassifier() | |
| clf.fit(X,y) | |
| st.title('Iris Flower Prediction App') | |
| st.sidebar.header('User input parameters') | |
| def user_input_features(): | |
| sepal_length = st.sidebar.slider('Sepal length', 4.3,7.9,5.4) | |
| sepal_width = st.sidebar.slider('Sepal width', 2.0,4.4,3.4) | |
| petal_length= st.sidebar.slider('Petal length', 1.0,6.9,1.3) | |
| petal_width = st.sidebar.slider('Petal width', 0.1,2.5,0.2) | |
| data= {'sepal_length': sepal_length, | |
| 'sepal_width':sepal_width, | |
| 'petal_length':petal_length, | |
| 'petal_width': petal_width} | |
| features= pd.DataFrame(data, index=[0]) | |
| return features | |
| df= user_input_features() | |
| st.subheader("User Input Parameters") | |
| st.write(df) | |
| prediction = clf.predict(df) | |
| prediction_proba = clf.predict_proba(df) | |
| st.subheader('CLass namesand correspondung numbers') | |
| st.write(iris.target_names) | |
| st.header('Prediction') | |
| st.write(iris.target_names[prediction]) | |
| st.header('Prediction Probability') | |
| st.write(prediction_proba) | |