Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -40,7 +40,7 @@ with tab1:
|
|
| 40 |
col1, col2 = st.columns(2)
|
| 41 |
|
| 42 |
with col1:
|
| 43 |
-
st.
|
| 44 |
|
| 45 |
# Function to load the building model
|
| 46 |
|
|
@@ -69,12 +69,14 @@ with tab1:
|
|
| 69 |
|
| 70 |
building_most_recent_prediction = building_new[['x', 'y', 'z']]
|
| 71 |
building_most_recent_prediction = building_hist_model.predict(building_most_recent_prediction)
|
| 72 |
-
building_new['
|
| 73 |
-
building_new
|
| 74 |
-
|
|
|
|
|
|
|
| 75 |
|
| 76 |
with col2:
|
| 77 |
-
st.
|
| 78 |
|
| 79 |
# Function to load the bikelane model
|
| 80 |
@st.cache_data()
|
|
@@ -134,7 +136,7 @@ with tab2:
|
|
| 134 |
label = "No vehicle detected"
|
| 135 |
return label
|
| 136 |
|
| 137 |
-
st.
|
| 138 |
x_input_building = st.slider("Choose your x-value", -232, 909, 0)
|
| 139 |
y_input_building = st.slider("Choose your y-value", -1112, 435, 0)
|
| 140 |
z_input_building = st.slider("Choose your z-value", -1648, 226, 0)
|
|
@@ -145,7 +147,7 @@ with tab2:
|
|
| 145 |
|
| 146 |
st.divider()
|
| 147 |
|
| 148 |
-
st.
|
| 149 |
x_input_bikelane = st.slider("Choose your x-value", -547, 288, 0)
|
| 150 |
y_input_bikelane = st.slider("Choose your y-value", -1007, 786, 0)
|
| 151 |
z_input_bikelane = st.slider("Choose your z-value", -1475, 16, 0)
|
|
@@ -155,6 +157,7 @@ with tab2:
|
|
| 155 |
st.write(bikelane_input_prediction)
|
| 156 |
|
| 157 |
with tab3:
|
|
|
|
| 158 |
st.markdown('This application is made as part of the module "Data Engineering and Machine Learning Operations in Business - F2024" in Business Data Science 2nd Semester at Aalborg University Business School.')
|
| 159 |
st.markdown('The application is made by Annika and Mikkel and is divided into 4 tabs:')
|
| 160 |
st.markdown('* **Parking lot status:** The first tab includes the actual interface, where the goal has been to make a simple UI which shows if 3 parking spaces are occupied or available.')
|
|
@@ -184,16 +187,21 @@ with tab4:
|
|
| 184 |
#st.dataframe(batch_data.head())
|
| 185 |
|
| 186 |
with tab5:
|
| 187 |
-
st.markdown('The predictions are made on the basis of two KNearestNeighbours models.')
|
| 188 |
|
| 189 |
-
st.
|
|
|
|
| 190 |
st.write(building_hist_model)
|
|
|
|
|
|
|
| 191 |
st.image('building_hist_confusion_matrix.png', caption='Confusion matrix for building model')
|
| 192 |
|
| 193 |
st.divider()
|
| 194 |
|
| 195 |
-
st.
|
|
|
|
| 196 |
st.write(bikelane_hist_model)
|
|
|
|
|
|
|
| 197 |
st.image('bikelane_hist_confusion_matrix.png', caption='Confusion matrix for bikelane model')
|
| 198 |
|
| 199 |
|
|
|
|
| 40 |
col1, col2 = st.columns(2)
|
| 41 |
|
| 42 |
with col1:
|
| 43 |
+
st.subheader("Parking place near building:")
|
| 44 |
|
| 45 |
# Function to load the building model
|
| 46 |
|
|
|
|
| 69 |
|
| 70 |
building_most_recent_prediction = building_new[['x', 'y', 'z']]
|
| 71 |
building_most_recent_prediction = building_hist_model.predict(building_most_recent_prediction)
|
| 72 |
+
building_new['Status'] = building_most_recent_prediction
|
| 73 |
+
building_new['Status'].replace(['detection', 'no_detection'], ['Vehicle detected', 'No vehicle detected'], inplace=True)
|
| 74 |
+
building_new = building_new.rename(columns={'time': 'Time'})
|
| 75 |
+
building_new = building_new.set_index(['Time'])
|
| 76 |
+
st.dataframe(building_new[['Status']].tail(5))
|
| 77 |
|
| 78 |
with col2:
|
| 79 |
+
st.subheader("Parking place near bikelane:")
|
| 80 |
|
| 81 |
# Function to load the bikelane model
|
| 82 |
@st.cache_data()
|
|
|
|
| 136 |
label = "No vehicle detected"
|
| 137 |
return label
|
| 138 |
|
| 139 |
+
st.subheader('Experiment with building model:')
|
| 140 |
x_input_building = st.slider("Choose your x-value", -232, 909, 0)
|
| 141 |
y_input_building = st.slider("Choose your y-value", -1112, 435, 0)
|
| 142 |
z_input_building = st.slider("Choose your z-value", -1648, 226, 0)
|
|
|
|
| 147 |
|
| 148 |
st.divider()
|
| 149 |
|
| 150 |
+
st.subheader('Experiment with bikelane model:')
|
| 151 |
x_input_bikelane = st.slider("Choose your x-value", -547, 288, 0)
|
| 152 |
y_input_bikelane = st.slider("Choose your y-value", -1007, 786, 0)
|
| 153 |
z_input_bikelane = st.slider("Choose your z-value", -1475, 16, 0)
|
|
|
|
| 157 |
st.write(bikelane_input_prediction)
|
| 158 |
|
| 159 |
with tab3:
|
| 160 |
+
st.subheader('About the application:')
|
| 161 |
st.markdown('This application is made as part of the module "Data Engineering and Machine Learning Operations in Business - F2024" in Business Data Science 2nd Semester at Aalborg University Business School.')
|
| 162 |
st.markdown('The application is made by Annika and Mikkel and is divided into 4 tabs:')
|
| 163 |
st.markdown('* **Parking lot status:** The first tab includes the actual interface, where the goal has been to make a simple UI which shows if 3 parking spaces are occupied or available.')
|
|
|
|
| 187 |
#st.dataframe(batch_data.head())
|
| 188 |
|
| 189 |
with tab5:
|
|
|
|
| 190 |
|
| 191 |
+
st.subheader('Model to predict parking place near building:')
|
| 192 |
+
st.markdown('The predictions for the parking place near the building are made on the basis of a KNearestNeighbours model')
|
| 193 |
st.write(building_hist_model)
|
| 194 |
+
st.markdown('The accuracy if the bikelane model is 100%')
|
| 195 |
+
st.write('**Confusion matrix:**')
|
| 196 |
st.image('building_hist_confusion_matrix.png', caption='Confusion matrix for building model')
|
| 197 |
|
| 198 |
st.divider()
|
| 199 |
|
| 200 |
+
st.subheader('Model to predict parking place near bikelane:')
|
| 201 |
+
st.markdown('Just like with the other model, the predictions for the parking place near the bikelane are made on the basis of a KNearestNeighbours model')
|
| 202 |
st.write(bikelane_hist_model)
|
| 203 |
+
st.markdown('The accuracy if the building model is 99%')
|
| 204 |
+
st.write('**Confusion matrix:**')
|
| 205 |
st.image('bikelane_hist_confusion_matrix.png', caption='Confusion matrix for bikelane model')
|
| 206 |
|
| 207 |
|