...
/Solution: Plot Evaluation Metrics using Streamlit
Solution: Plot Evaluation Metrics using Streamlit
Learn how to plot evaluation metrics using Streamlit.
Solution for Task 1
In Task 1, you were asked to add multiselect on the left sidebar on the Streamlit interface.
Let’s run the code below.
import streamlit as st
from sklearn.neighbors import KNeighborsClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.svm import SVC
def getClassifier(classifier):
if classifier == 'SVM':
c = st.sidebar.slider(label='Choose value of C' , min_value=0.0001, max_value=10.0)
model = SVC(C=c)
elif classifier == 'KNN':
neighbors = st.sidebar.slider(label='Choose Number of Neighbors',min_value=1,max_value=20)
model = KNeighborsClassifier(n_neighbors = neighbors)
else:
max_depth = st.sidebar.slider('max_depth', 2, 10)
n_estimators = st.sidebar.slider('n_estimators', 1, 100)
model = RandomForestClassifier(max_depth = max_depth , n_estimators= n_estimators,random_state= 1)
return model
st.title("Classifiers in Action")
# Description
st.text("Breast Cancer Dataset")
#sidebar
sideBar = st.sidebar
classifier = sideBar.selectbox('Which Classifier do you want to use?',('SVM' , 'KNN' , 'Random Forest'))
getClassifier(classifier)
# The below line will create a multiselect option for evaluation metrics.
metrics = st.sidebar.multiselect("What metrics to plot?", ("Confusion Matrix", "ROC Curve", "Precision-Recall Curve"))
Displaying multiselect options for evaluation metrics
Explanation
-
Lines 1–4: We import the required modules.
-
Lines 6–17: We implement the
getClassifier()function. -
Line 20: We add the
titleon the interface. -
Line 23: We add
texton the interface. -
Lines 26–27: We create a
sidebarand add aselectboxfor the classifier’s selection. -
...
Ask