Прямо сейчас я работаю над программой, которая берет список пользователей, которые оценили фильмы, и вычисляет поддержку для всех фильмов. Я задаю своей программе максимальное количество фильмов, которые я хочу рассчитать, минимум поддержки и минимум достоверности.
В настоящее время моя программа вычисляет поддержку для всех отдельных фильмов и печатает те, которые соответствуют минимуму поддержки, в файл со значением поддержки.
Затем он продолжает работу с отдельных фильмов, отвечающих минимальной поддержке, и вычисляет пары фильмов, которые также соответствуют минимальной поддержке, и печатает эту статистику в новый файл.
Это продолжается до тех пор, пока не закончатся пары/наборы фильмов, отвечающие минимальной поддержке, или пока не будет достигнуто максимальное количество фильмов.
Максимальное количество фильмов — это просто целое число. Например, если я установил его равным трем, он будет вычислять только поддержку отдельных фильмов, пар фильмов из 2 и наборов фильмов из 3 и печатать все одиночные фильмы, пары и наборы с их соответствующей поддержкой обратно в каждый файл.
Пример одного из моих выходных файлов выглядит так...
99 195 347,0.21314952279957583
99 343 347,0.24284199363732767
99 343 361,0.23329798515376457
99 347 361,0.23223753976670203
343 347 361,0.20254506892895016
Это наборы из трех фильмов, разделенных пробелом, за которым следует «,», а затем значение поддержки. Файлы с одним фильмом и парой фильмов будут выглядеть точно так же, но будут иметь только 1 (или 2) идентификатора фильма перед запятой.
Примечание. У меня есть сопоставление идентификатора фильма (номер) с названием фильма для последующей печати.
Мой вопрос... из того, что у меня есть, есть ли способ вычислить достоверность всех возможных правил и распечатать/сохранить те, которые соответствуют минимальной достоверности%?