| import streamlit as st | |
| import pandas as pd | |
| from sklearn import datasets | |
| from sklearn.ensemble import RandomForestClassifier | |
| st.title('Iris Flower Prediction App') | |
| iris = datasets.load_iris() | |
| X = iris.data | |
| y = iris.target | |
| clf = RandomForestClassifier() | |
| clf.fit(X,y) | |
| st.sidebar.header('User Input Parameters') | |
| def user_input_features(): | |
| sepal_length = st.sidebar.slider('Sepal length',4.3,8.0,5.0) | |
| sepal_width = st.sidebar.slider('Sepal length',2.0,4.4,3.4) | |
| pepal_length = st.sidebar.slider('Sepal length',1.0,6.9,1.3) | |
| petal_width= st.sidebar.slider('Sepal length',0.1,2.5,0.2) | |
| data ={'sepal_length':sepal_length, | |
| 'sepal_width':sepal_width, | |
| 'petal_length':pepal_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 names and corresponding numbers') | |
| st.write(iris.target_names) | |
| st.subheader('Prediction') | |
| st.write(iris.target_names[prediction]) | |
| st.subheader('Prediction Probability') | |
| st.write(prediction_proba ) |