Алгоритм Apriori - генерация частых наборов
Я использую алгоритм Apriori для идентификации наборов частых предметов клиента. Основываясь на идентифицированных наборах частых предметов, я хочу предложить пользователю предложить товары, когда клиент добавляет новый товар в свой список покупок, так как наборы частых предметов я получил результат следующее;
[1],[3],[2],[5]
[2.3],[3,5],[1,3],[2,5]
[2,3,5]
Моя проблема в том, что если я считаю, что только [2,3,5] установлен, чтобы делать предложения клиенту, я не прав? т.е. если покупатель добавляет товар 3 в свой список покупок, я бы порекомендовал товар 2 и товар 5. Если покупатель добавил товар 1 в список покупок, никаких предложений не будет, поскольку я рассматриваю только набор [2,3,5], а товар 1 недоступно в этом наборе. Я хочу знать, достаточно ли моей логики (учитывая только набор [2,3,5]), чтобы делать предложения для пользователя
2 ответа
Нет. Получение правил рекомендации требует больше усилий.
То, что [2,3,5] часто встречается, не означает, что 2 -> 3,5 - хорошее правило.
Рассмотрим случай, когда 2 - очень популярный продукт, но 3,5 - это всего лишь редкость. Рассмотрим заправку. [газ, кофе, бублик], вероятно, часто встречается, но довольно мало покупателей, которые покупают газ, также купят кофе и бублик (низкая достоверность).
Вы хотите рассмотреть такие правила, как 2,3 -> 5, потому что они могут иметь более высокую степень достоверности. Т.е. если покупатель покупает газ и кофе, предложите бублик.
Частота недостаточна для рекомендаций! Рассмотрим 2 и 3, купленные в 80% случаев. 2, 3, 5 покупается в 60% случаев. Наивно, в 6 из 8 раз клиент также купит 5, это на 75% правильно! Но это не значит, что 5 - хорошая рекомендация! Потому что 5 может составлять 80%, поэтому, если он купил 2 и 3, у него на 5% меньше шансов купить 5, и здесь мы имеем отрицательную корреляцию. Вот почему вы должны смотреть на лифт тоже. Или другие меры, как это, есть много.
Чтобы выяснить правило, вы должны опираться на частоту набора элементов относительно его наборов подэлементов. Например
- если частота (2,3,5) близка к частоте (3,5), то правило будет (3,5) -> 2
- Если частота (2,3,5) близка к частоте (3), правило будет 3 -> (2,5)
- Если частота (2,3) близка к частоте (2), правило будет 2 -> 3
Это означает, что не только самый большой набор часто используемых элементов может быть использован для создания правила, но также и его наборы менее частых элементов. И правило будет более дорогостоящим, если учесть, насколько близка частота наборов предметов по сравнению с другими.