Python使用Apriori算法查找關係密切的演員組合

Apriori算法基本概念:

  1. 關聯規則:可以表示爲一個蘊含式R:X==>Y,其中X&Y爲空集。關聯規則的含義是,如果X發生,那麼Y很可能也會發生。
  2. 關聯分析或者關聯規則學習:從大規模數據中尋找物品之間隱含的關係,從而實現某種意義上的預測。例如,撿到鼠標墊的幸運者3個月內是否有可能購買筆記本電腦;正在瀏覽某商品的用戶還可能對什麼商品感興趣;一個特別愛吃炒花生的人喜歡喝酒的可能性有多大。
  3. 項集:包含若干物品或項目的集合。
  4. 頻繁項集:經常一起出現的物品的集合。如果某個項集是頻繁的,那麼它的所有子集都是頻繁的;如果某個項集不是頻繁的,那麼它的所有超集都不是頻繁的。這一點是避免項集數量過多的重要基礎,使得快速計算頻繁項集成爲可能。
  5. 支持度:一個項集的支持度是指包含該項集的記錄數量在整個數據集中所佔的比例。對於某條關聯規則A==>B,支持度是指項集A|B的支持度,也就是同時包含A和B的記錄的數量與記錄總數量的比。
  6. 置信度:用來表示某條規則可信度的大小,用來檢驗一個推測是否靠譜。對於某條關聯規則A==>B,置信度是指項集A|B的支持度與項集A的支持度的比值。
  7. 如果某條關聯規則不滿足最小置信度要求,那麼該規則的所有子集也不會滿足最小置信度。根據這一點可以減少要測試的規則數量。
  8. 強關聯規則:同時滿足最小支持度和最小置信度的關聯規則。
  9. 根據不同的支持度和置信度閾值設置,關聯規則分析的結果會有所不同。

問題描述:

已知一些演員參演電影的信息,如下圖所示,獲取這些存儲在Excel文件中的數據,查找關係較好的演員二人組合,也就是頻繁2項集。

參考代碼(使用Apriori算法的頻繁項集搜索方法):

運行結果(可以調整代碼倒數第三行的參數0.4,觀察對結果的影響):

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章