Описание контекстного алгоритма задания 1.1. Для того, чтобы порекомендовать фильм пользователю 4, был создан метод recommendation. Его алгоритм:
- Берем все фильмы, которые еще не смотрел пользователь, вместе с оценками, которые были получены из предыдущего задания.
- Сразу же отсекаем фильмы с оценкой ниже, чем 3.
- Вводим переменные: context_day - массив с днями неделями по каждому фильму (из задания выше) context_place - массив с местами просмотра фильма по каждому фильму (из задания выше) context_day_rating - рейтинг фильма по дням неделям (высчитываем ниже, изначально = 0) context_place_rating - рейтинг фильма по месту просмотра фильма (высчитываем ниже, изначально = 0)
- Из массива, в котором содержится дни недели, когда был посмотрен фильм (context_day), ищем субботу и воскресенье и в зависимости от того, сколько раз встречаются эти дни, прибавляем в рейтинг фильма по дням недели(context_day_rating) единицу. Т.е. увеличиваем рейтинг фильма на 1, если встречаем в массиве выходной день.
- Далее делаем то же самое с рейтингом фильма по месту просмотра (context_place_rating). Из массива, в котором содержится места просмотра фильма пользователями (context_place), выбираем Дом и увеличиваем рейтинг фильма по месту просмотра на 1.
- Итак, что мы имеем на этом шаге. Две переменные рейтинга фильма по дню недели просмотра фильма и по месту просмотра фильма (context_day_rating и context_place_rating). Далее высчитываем "best" коэффициент фильма, который высчитываем так: ((context_day_rating)/(количество элементов в массиве context_day)) * ((context_place_rating / количество элементов в массиве context_place).
- Шаги 4-6 исполняем по каждому фильму. В итоге получаем массив, который содержит в себе "best" коэффициенты по каждому фильму.
- Фильм с наибольшим "best" коэффициентом будет порекомендован пользователю для просмотра дома в выходные.
На вопрос о том, что написано у меня на выходе в скобках отвечаю, что это посчитанный коэффициент, на чем был основан мой выбор для рекомендации фильма.