Как рассчитать доверие от поддержки в java

Прямо сейчас я работаю над программой, которая берет список пользователей, которые оценили фильмы, и вычисляет поддержку для всех фильмов. Я задаю своей программе максимальное количество фильмов, которые я хочу рассчитать, минимум поддержки и минимум достоверности.

В настоящее время моя программа вычисляет поддержку для всех отдельных фильмов и печатает те, которые соответствуют минимуму поддержки, в файл со значением поддержки.

Затем он продолжает работу с отдельных фильмов, отвечающих минимальной поддержке, и вычисляет пары фильмов, которые также соответствуют минимальной поддержке, и печатает эту статистику в новый файл.

Это продолжается до тех пор, пока не закончатся пары/наборы фильмов, отвечающие минимальной поддержке, или пока не будет достигнуто максимальное количество фильмов.

Максимальное количество фильмов — это просто целое число. Например, если я установил его равным трем, он будет вычислять только поддержку отдельных фильмов, пар фильмов из 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) идентификатора фильма перед запятой.

Примечание. У меня есть сопоставление идентификатора фильма (номер) с названием фильма для последующей печати.

Мой вопрос... из того, что у меня есть, есть ли способ вычислить достоверность всех возможных правил и распечатать/сохранить те, которые соответствуют минимальной достоверности%?


person Michael Staudt    schedule 07.03.2013    source источник


Ответы (1)


Итак, что вы пробовали?

Псевдокоды APRIORI разбросаны по всему Интернету, а также сотни реализаций. Часть, в которой большинство людей не могут эффективно реализовать это, - это правила, позволяющие свести количество кандидатов к минимуму - вы не хотите пробовать все комбинации размера 3 или больше. Выполнение всех комбинаций занимает слишком много времени и бесполезно.

Ключом к Apriori является генерация и отбор кандидатов для следующего раунда.

С другой стороны, определение уверенности довольно простое.

Вычислите правило, затем вычислите достоверность при поддержке полного набора элементов и только головы. По-видимому, у вас уже есть поддержка, поэтому вычисление уверенности должно состоять из двух запросов к вашей базе данных значений поддержки.

person Has QUIT--Anony-Mousse    schedule 07.03.2013