#machine-learning #scikit-learn #recommendation-engine #recommender-systems
#машинное обучение #scikit-learn #механизм рекомендаций
Вопрос:
Я работаю над платформой электронного обучения с использованием PHP. Он рекомендует видео, если вы не ответили на конкретный вопрос. Как мне создать систему рекомендаций, которая принимает теги и рекомендует соответствующие видео?
import pandas as pd
videos = pd.read_csv("/file_path/vid_com_dup.csv",
sep = ',', names =
['vid_id','ques_id','vid_name','vid_tags'])
videos.head()
Файл CSV содержит следующие столбцы:
- vid_id — первичный ключ и идентификатор для видео.
- ques_id — внешний ключ.
- vid_name — название видео.
- vid_tags — некоторые теги в виде (1 1, однозначный знак, сложение, оценка 1).
приведенные выше теги также находятся в таблице вопросов, которые похожи.
если в вопросе есть теги (1 1, однозначное число, сложение, оценка 1), я хочу создать рекомендатель, который использует вышеуказанные теги, сравнивает с другими видео, которые имеют похожие теги, и дает рекомендации.
Ответ №1:
Я наконец-то справился с этим, надеюсь, это поможет кому-то еще.
-
Разделить теги: изображение разделенных тегов:
В основном, на приведенном выше рисунке показано, что если присутствует тег, то 1 еще 0.
-
Масштабируйте и преобразуйте приведенную выше матрицу функций:
-
Примените Scikit для изучения ближайших соседей без присмотра. Вы должны получить индексы и матрицу расстояний. Что такое ближайшие соседи без присмотра? Для этой проблемы нас интересует только получение ближайших соседей на основе расстояний и рекомендаций, а не для классификации. Изображение индексов и расстояний ниже:
-
Все готово. Все, что вам нужно сейчас, это функция для получения ближайших видеороликов. Это показано на изображении ниже, на котором есть код и результат.