Spaces:
Sleeping
Sleeping
File size: 1,765 Bytes
35e4fae 17278fa 35e4fae 17278fa a600ff7 17278fa a600ff7 17278fa e426245 17278fa |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
import joblib
import streamlit as st
import pandas as pd
# Загрузка модели и векторизатора
model = joblib.load('logistic_regression_model (2).pkl')
vectorizer = joblib.load('tfidf_vectorizer (2).pkl')
# Загрузка данных
data = pd.read_excel('DATA_new (1).xlsx')
# Функция для предсказания кода профессии
def predict_profession_code(profession_name):
profession_vector = vectorizer.transform([profession_name])
predicted_code = model.predict(profession_vector)[0]
return predicted_code
# Функция для поиска подходящих курсов по предсказанному коду
def get_matching_courses(predicted_code):
matching_courses = data[data['NKZ'] == predicted_code]['Course Title'].drop_duplicates().tolist()
return matching_courses[:10]
# Streamlit интерфейс
st.title("Поиск курсов по навыкам")
st.write("Введите навык")
profession_name = st.text_input("Название навыка")
if st.button("Найти курсы"):
if profession_name:
predicted_code = predict_profession_code(profession_name)
st.success(f"Предсказанный код профессии '{profession_name}': {predicted_code}")
matching_courses = get_matching_courses(predicted_code)
if matching_courses:
st.write("Подходящие курсы:")
for course in matching_courses:
st.write(f"- {course}")
else:
st.write("Нет подходящих курсов для данного навыка.")
else:
st.error("Пожалуйста, введите название профессии.") |