關聯規則挖掘——Apriori


算法目的

    關聯規則挖掘中有一個非常典型的案例,"啤酒紙尿褲"案例,講的是通過對一家超市的銷售情況研究發現,很多買了紙尿褲的客戶,同時會購買啤酒,經過調查發現,買這些紙尿褲的一般是家庭父親,他們在被家庭主婦派去買紙尿褲時,會同時選擇購買啤酒來犒勞自己,根據這個發現,超市將紙尿褲和啤酒放在一起,或者將它們進行捆綁銷售,提高了產品的銷量。
    關聯規則挖掘就是通過挖掘算法來找到事物背后隱藏的關聯規則,從而來指導實踐,相類似的還有鍵盤與鼠標等

關聯規則基礎概念

  • 關聯規則:形式為A->B,如{面包}->{牛奶,果醬},表示面包與牛奶和果醬之間存在關聯關系
  • 項:事物的類型,類似數據表中的字段,在"啤酒紙尿褲"中,啤酒和質量庫就是兩個項
  • 項集:項的集合,根據所含項的多少,分為單位項,2項,3項等等
  • 事務:行為的記錄,類似數據表中的記錄,在"啤酒紙尿褲"中,指代用戶的一次次購買行為
  • 支持計數:某一項集在所有事務中出現的次數
  • 支持度:某一項集在所有事務中占的比例,即支持計數除以總事務數,用於判斷某一項集是否為頻繁項集
  • 置信度:關聯規則中,后件項集在前件項集中出現的頻繁程度,對於{面包}->{牛奶,果醬},就是牛奶,果醬這一組合在所有出現面包的事務中出現的頻率,置信度越高,表示關聯性越強
  • 最小支持度:用於判斷某一項集是否為頻繁項集,大於最小支持度時,為頻繁項集
  • 最小置信度,用於判斷某一關聯規則是否為強關聯規則,大於最小支持度時,為強關聯規則

Apriori原理

  • 1、找出所有可能的大小為1候選項集,大小為1時,所有項集都是候選項集,當大於1時,只有當該項集的子項集為頻繁項集時,該項集才為候選項集
  • 2、根據最小支持度,從候選項集中篩選出頻繁項集
  • 3、重復1、2步驟,尋找大小+1的頻繁項集,直到沒有更大的候選項集
    事務集:
TID 商品
1 {面包,牛奶,果醬,餅干,可樂,泡面}
2 {面包,牛奶,果醬,餅干}
3 {面包,牛奶,果醬}
4 {可樂,泡面}
5 {可樂,泡面}
第一步,找出大小為1的候選集:
項集 支持度計數
{面包} 3
{牛奶} 3
{果醬} 3
{餅干} 2
{可樂} 3
{泡面} 3
第二步,根據最小支持度來篩選出頻繁項集,設最小支持度為0.5,則頻繁項集為:
項集 支持度計數
{面包} 3
{牛奶} 3
{果醬} 3
{可樂} 3
{泡面} 3
第三步,找出大小為2的候選集:
項集 支持度計數
{面包,牛奶} 3
{牛奶,果醬} 3
{面包,果醬} 3
{可樂,泡面} 3
{面包,可樂} 1
{牛奶,可樂} 1
{果醬,可樂} 1
{面包,泡面} 1
{牛奶,泡面} 1
{果醬,泡面} 1
第四步,根據最小支持度來篩選出頻繁項集,設最小支持度為0.5,則頻繁項集為:
項集 支持度計數
{面包,牛奶} 3
{牛奶,果醬} 3
{面包,果醬} 3
{可樂,泡面} 3
第五步,找出大小為3的候選集:
項集 支持度計數
{面包,牛奶,果醬} 3
第四步,根據最小支持度來篩選出頻繁項集,設最小支持度為0.5,則頻繁項集為:
項集 支持度計數
{面包,牛奶,果醬} 3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM