Yerzhxn's picture
Update app.py
a600ff7 verified
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("Пожалуйста, введите название профессии.")