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("Пожалуйста, введите название профессии.")