Spaces:
Sleeping
Sleeping
fschwartzer
commited on
Commit
•
f8758f6
1
Parent(s):
5880167
Update app.py
Browse files
app.py
CHANGED
@@ -278,23 +278,40 @@ with tab3:
|
|
278 |
if 'Predicted_target' in filtered_data.columns and not np.all(predicted_target == 0):
|
279 |
# Escolher a primeira coordenada para pesquisa
|
280 |
coord_pesquisa = [filtered_data.iloc[0]['latitude'], filtered_data.iloc[0]['longitude']]
|
|
|
281 |
|
282 |
-
# Criar o mapa centralizado na coordenada pesquisada com um nível de zoom
|
283 |
-
mapa = folium.Map(location=coord_pesquisa, zoom_start=
|
284 |
marker_cluster = MarkerCluster().add_to(mapa)
|
285 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
# Iterar pelos 5 pontos mais próximos e conectar os vizinhos à coordenada de pesquisa
|
287 |
for neighbor_idx in indices[0]: # Usar apenas os 5 vizinhos mais próximos da primeira coordenada
|
288 |
neighbor_row = filtered_data.iloc[neighbor_idx]
|
289 |
coord_vizinho = [neighbor_row['latitude'], neighbor_row['longitude']]
|
|
|
|
|
290 |
|
291 |
-
# Adicionar marcadores
|
292 |
-
folium.Marker(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
293 |
folium.PolyLine([coord_pesquisa, coord_vizinho], color='blue', weight=2).add_to(mapa)
|
294 |
|
295 |
# Exibir o mapa no Streamlit
|
296 |
st.markdown("## **Mapa dos 5 Vizinhos mais Próximos (KNN)**")
|
297 |
-
st.write("O mapa mostra os 5 pontos de dados mais próximos ao ponto de pesquisa.")
|
298 |
st.components.v1.html(mapa._repr_html_(), height=500)
|
299 |
else:
|
300 |
st.warning(f"**Dados insuficientes para inferência do valor. Mínimo necessário:** {k_threshold}")
|
|
|
278 |
if 'Predicted_target' in filtered_data.columns and not np.all(predicted_target == 0):
|
279 |
# Escolher a primeira coordenada para pesquisa
|
280 |
coord_pesquisa = [filtered_data.iloc[0]['latitude'], filtered_data.iloc[0]['longitude']]
|
281 |
+
valor_pesquisa = filtered_data.iloc[0]['Predicted_target']
|
282 |
|
283 |
+
# Criar o mapa centralizado na coordenada pesquisada com um nível de zoom mais próximo
|
284 |
+
mapa = folium.Map(location=coord_pesquisa, zoom_start=18)
|
285 |
marker_cluster = MarkerCluster().add_to(mapa)
|
286 |
|
287 |
+
# Adicionar marcador para a coordenada de pesquisa com o valor previsto
|
288 |
+
folium.Marker(
|
289 |
+
coord_pesquisa,
|
290 |
+
popup=f"<b>Local de Pesquisa</b><br>Valor Previsto: {valor_pesquisa:.2f}",
|
291 |
+
icon=folium.Icon(color="red", icon="info-sign")
|
292 |
+
).add_to(marker_cluster)
|
293 |
+
|
294 |
# Iterar pelos 5 pontos mais próximos e conectar os vizinhos à coordenada de pesquisa
|
295 |
for neighbor_idx in indices[0]: # Usar apenas os 5 vizinhos mais próximos da primeira coordenada
|
296 |
neighbor_row = filtered_data.iloc[neighbor_idx]
|
297 |
coord_vizinho = [neighbor_row['latitude'], neighbor_row['longitude']]
|
298 |
+
valor_previsto = neighbor_row['Predicted_target']
|
299 |
+
valor_observado = neighbor_row['target_column']
|
300 |
|
301 |
+
# Adicionar marcadores para os vizinhos com informações de valor previsto e observado
|
302 |
+
folium.Marker(
|
303 |
+
coord_vizinho,
|
304 |
+
popup=(f"<b>Vizinho</b><br>Valor Previsto: {valor_previsto:.2f}<br>"
|
305 |
+
f"Valor Observado: {valor_observado:.2f}"),
|
306 |
+
icon=folium.Icon(color="blue", icon="info-sign")
|
307 |
+
).add_to(marker_cluster)
|
308 |
+
|
309 |
+
# Adicionar linha de conexão entre a coordenada de pesquisa e o vizinho
|
310 |
folium.PolyLine([coord_pesquisa, coord_vizinho], color='blue', weight=2).add_to(mapa)
|
311 |
|
312 |
# Exibir o mapa no Streamlit
|
313 |
st.markdown("## **Mapa dos 5 Vizinhos mais Próximos (KNN)**")
|
314 |
+
st.write("O mapa mostra os 5 pontos de dados mais próximos ao ponto de pesquisa, com informações de valores previstos e observados.")
|
315 |
st.components.v1.html(mapa._repr_html_(), height=500)
|
316 |
else:
|
317 |
st.warning(f"**Dados insuficientes para inferência do valor. Mínimo necessário:** {k_threshold}")
|