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