Yerzhxn commited on
Commit
07f0697
·
verified ·
1 Parent(s): 52b2523

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -9
app.py CHANGED
@@ -1,7 +1,7 @@
1
  import pandas as pd
2
  import streamlit as st
3
  import numpy as np
4
- from scipy.stats import pearsonr
5
 
6
  # Загрузка данных из Excel файлов
7
  vacancy = 'vacancy_new_new.xlsx'
@@ -47,17 +47,19 @@ if st.button("Найти совпадения"):
47
  # Преобразование в array для поиска
48
  selected_skills_array = np.array(skills_ids, dtype=int)
49
 
50
- # Поиск совпадений по методу correlation
51
  matching_results = []
52
  for index, row in df_to_search.iterrows():
53
  if 'arr' in row and isinstance(row['arr'], str):
54
  arr_values = np.array([int(x) for x in row['arr'].split(',')], dtype=int)
55
- correlation, _ = pearsonr(selected_skills_array, arr_values)
56
- if correlation > 0.5:
57
- matching_results.append({
58
- 'Name': row['name'],
59
- 'Correlation': correlation
60
- })
 
 
61
 
62
  # Вывод результатов, где совпадение больше 50%
63
  st.write("Результаты с совпадением более 50%:")
@@ -67,7 +69,7 @@ if st.button("Найти совпадения"):
67
  f"""
68
  <div style="border: 1px solid #ddd; padding: 10px; border-radius: 5px; margin-bottom: 10px;">
69
  <h4 style="margin: 0;">{result['Name']}</h4>
70
- <p><strong>Коэффициент совпадения:</strong> {result['Correlation']:.2f}</p>
71
  </div>
72
  """,
73
  unsafe_allow_html=True
 
1
  import pandas as pd
2
  import streamlit as st
3
  import numpy as np
4
+ from scipy.spatial.distance import hamming
5
 
6
  # Загрузка данных из Excel файлов
7
  vacancy = 'vacancy_new_new.xlsx'
 
47
  # Преобразование в array для поиска
48
  selected_skills_array = np.array(skills_ids, dtype=int)
49
 
50
+ # Поиск совпадений по методу Hamming Distance
51
  matching_results = []
52
  for index, row in df_to_search.iterrows():
53
  if 'arr' in row and isinstance(row['arr'], str):
54
  arr_values = np.array([int(x) for x in row['arr'].split(',')], dtype=int)
55
+ if len(arr_values) == len(selected_skills_array):
56
+ hamming_distance = hamming(selected_skills_array, arr_values)
57
+ similarity = 1 - hamming_distance
58
+ if similarity > 0.5:
59
+ matching_results.append({
60
+ 'Name': row['name'],
61
+ 'Similarity': similarity
62
+ })
63
 
64
  # Вывод результатов, где совпадение больше 50%
65
  st.write("Результаты с совпадением более 50%:")
 
69
  f"""
70
  <div style="border: 1px solid #ddd; padding: 10px; border-radius: 5px; margin-bottom: 10px;">
71
  <h4 style="margin: 0;">{result['Name']}</h4>
72
+ <p><strong>Коэффициент совпадения:</strong> {result['Similarity']:.2f}</p>
73
  </div>
74
  """,
75
  unsafe_allow_html=True