fschwartzer commited on
Commit
f8758f6
1 Parent(s): 5880167

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -5
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 alto
283
- mapa = folium.Map(location=coord_pesquisa, zoom_start=12)
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 e linhas de conexão
292
- folium.Marker(coord_vizinho, popup=f"Predicted: {neighbor_row['Predicted_target']:.2f}").add_to(marker_cluster)
 
 
 
 
 
 
 
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}")