fschwartzer commited on
Commit
3459248
1 Parent(s): c608fd2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -1
app.py CHANGED
@@ -252,6 +252,7 @@ with tab2:
252
 
253
  with tab3:
254
  st.markdown(f'<style>{css_style}</style>', unsafe_allow_html=True)
 
255
  k_neighbors = 5
256
 
257
  # Função para prever valores usando KNN e retornar os vizinhos mais próximos
@@ -282,11 +283,19 @@ with tab3:
282
 
283
  # Iterar pelos pontos e conectar vizinhos mais próximos
284
  for i, row in filtered_data.iterrows():
 
 
 
 
285
  coord_calculo = [row['latitude'], row['longitude']]
286
  folium.Marker(coord_calculo, popup=f"Predicted: {row['Predicted_target']:.2f}").add_to(marker_cluster)
287
 
288
  # Conectar os vizinhos com linhas
289
  for neighbor_idx in indices[i]:
 
 
 
 
290
  neighbor_row = filtered_data.iloc[neighbor_idx]
291
  coord_vizinho = [neighbor_row['latitude'], neighbor_row['longitude']]
292
  folium.PolyLine([coord_calculo, coord_vizinho], color='blue', weight=2).add_to(mapa)
@@ -294,7 +303,7 @@ with tab3:
294
  # Exibir o mapa no Streamlit
295
  st.markdown("## **Mapa dos Vizinhos mais Próximos (KNN)**")
296
  st.write("O mapa mostra os pontos de dados usados no cálculo do KNN, conectados ao ponto de cálculo.")
297
- st_folium = st.components.v1.html(mapa._repr_html_(), height=500)
298
  else:
299
  st.warning(f"**Dados insuficientes para inferência do valor. Mínimo necessário:** {k_threshold}")
300
 
 
252
 
253
  with tab3:
254
  st.markdown(f'<style>{css_style}</style>', unsafe_allow_html=True)
255
+ # Parâmetro para o número de vizinhos
256
  k_neighbors = 5
257
 
258
  # Função para prever valores usando KNN e retornar os vizinhos mais próximos
 
283
 
284
  # Iterar pelos pontos e conectar vizinhos mais próximos
285
  for i, row in filtered_data.iterrows():
286
+ if i >= len(indices):
287
+ # Pular se o índice i não existir em indices
288
+ continue
289
+
290
  coord_calculo = [row['latitude'], row['longitude']]
291
  folium.Marker(coord_calculo, popup=f"Predicted: {row['Predicted_target']:.2f}").add_to(marker_cluster)
292
 
293
  # Conectar os vizinhos com linhas
294
  for neighbor_idx in indices[i]:
295
+ if neighbor_idx >= len(filtered_data):
296
+ # Ignorar se o índice do vizinho estiver fora do DataFrame
297
+ continue
298
+
299
  neighbor_row = filtered_data.iloc[neighbor_idx]
300
  coord_vizinho = [neighbor_row['latitude'], neighbor_row['longitude']]
301
  folium.PolyLine([coord_calculo, coord_vizinho], color='blue', weight=2).add_to(mapa)
 
303
  # Exibir o mapa no Streamlit
304
  st.markdown("## **Mapa dos Vizinhos mais Próximos (KNN)**")
305
  st.write("O mapa mostra os pontos de dados usados no cálculo do KNN, conectados ao ponto de cálculo.")
306
+ st.components.v1.html(mapa._repr_html_(), height=500)
307
  else:
308
  st.warning(f"**Dados insuficientes para inferência do valor. Mínimo necessário:** {k_threshold}")
309