Apriori算法通俗详解_fpgrowth2_关联分析评估
20220317
https://blog.csdn.net/a790439710/article/details/103080674
支持度,置信度各指標再理解
條件模式基:在某元素比如y出現的前提下,其所有對應路徑父節點構成的樹
條件fp數:在某元素比如y出現的前提下,篩選所有對應路徑上所有滿足最小值支持度的父節點
規則就是篩選出的所有滿足父節點和條件節點的隨意Cm取n的任意組合?
結果數據,可用于購物車當用戶把前項商品加入購物車之后,給其推薦所有的后項
加入20%的同類目?的新品比例,比例可調 首先新產品怎么定義推薦什么樣策略的新產品
推薦生意參謀里面價格低的商品?
20220312
藥店訂單和處方不一樣,每次訂單之間的藥應該是比較隨機的,應該是比較依賴于庫存
而不是藥之間的聯系
按用戶類型對訂單分類進行規則抽取的時候,如果定同一套閾值對某些類別會顯的過小(跑不出)
反之,有些則顯得過大 不僅僅是要 A–B這種規則,ABC-D也需要
最后運用的時候 按前項groupby 再按后項排序 盡量把前項和后項所有的都展示到一起
總的規則條數最好占原本總記錄的80%
https://blog.csdn.net/qq_23860475/article/details/90748080
pyspark-fpgrowth
最小支持度
用戶或專家定義的衡量支持度的一個閾值,表示項集在統計意義上的最低重要性
一般5%,10%,20%? 一對商品同時出現的頻次占總購買記錄的比率
平均每天客戶數的20%,也就是總的 20% 取0.2?
FP-growth算法比Apriori算法快一個數量級,在空間復雜度方面也比Apriori也有數量級級別的優化。但是對于海量數據,FP-growth的時空復雜度仍然很高,可以采用的改進方法包括數據庫劃分,數據采樣等等。
20220307
最小支持度默認最小為2,也就是至少要出現兩次
20220215
python fpgrowth只有支持度的篩選
kulc的計算涉及到 P(B|A)和P(A|B)
P(B|A) = P(A,B)/P(A)
P(A|B) = P(A,B)/P(B)
最終牽扯到 count(A),count(B) 和 count(ab)
因為分子分母兩個概率都有共同的分母,所以可以用絕對值代替
不平衡比的計算也是最終牽扯 最終牽扯到 count(A),count(B) 和 count(ab)
最終的評估標準 ###########################
1.kluc不等于0.5的時候且大于0.8的時候規則保留
2.kluc不等于0.5的時候且小于0.8的時候規則舍棄
3.當kluc等于0.5的時候且平衡比等于0的時候可以不要這個規則(舍棄)表明二者關系中性
4.當kluc等于0.5的時候且平衡比不等于0的時候,取支持度大的那個值 也就是max( confidence(ab),confidence(ba))中大的那個
最終只剩下 x–>y x–>z 這種至于 x -->y,z 這種就加上看 y–>z 是否成立
對于x的所有結果就按所有結果的confidence大小從高到低排序
kluc和不平衡比結合使用的方法
##############
https://blog.csdn.net/songbinxu/article/details/80411388
https://github.com/SongDark/FPgrowth
FP-growth 算法與Python實現 主要參考代碼 重點
https://www.cnblogs.com/datahunter/p/3903413.html
關聯分析:FP-Growth算法
置信度
kulc和IR在支持度篩選過后就可以開始計算了
這兩個指標和置信度一起對規則進行篩選
置信度是在頻繁項集的基礎上進行篩選
20220214
分子是同時出現
分母是每個元素單獨出現概率的乘積
可以立即為因為x的出現使得y出現概率的變化的情況
sup(Y)是沒有x的影響,conf(XUY)是由于x出現對y出現的影響
一般在數據挖掘中當提升度大于 3 時,我們才承認挖掘出的關聯規則是有價值的。
他可以用來評估一個出現提升另外一個出現的程度。
https://mp.weixin.qq.com/s/Iauw1KbCHVX5PiKY_BAaJQ
各指標的計算 重點
事務即購買記錄,每天的訂單購買記錄
支持度,置信度,kulc,不平衡的案例計算
支持度是概率,置信度是兩個概率的比值并不是絕對值?
分子分母中的分數都去掉分母,結果就是絕對值
https://www.cnblogs.com/fengfenggirl/p/associate_measure.html
各指標的計算
數據挖掘概念與技術
關聯規則推薦評估
https://mp.weixin.qq.com/s/1SxQLVXu66tZhOwTenFuDw
各指標的計算 重點
提升度計算
20211116
https://blog.csdn.net/baixiangxue/article/details/80335469
FP-growth算法理解和實現
https://blog.csdn.net/weixin_38636668/article/details/90265533
fpgowth流程步驟
條件模式基問題視頻
20210906
https://blog.csdn.net/TechFlow/article/details/106116139
fp-growth python代碼實現
E:\BiliDown\下載保存目錄\嗶哩嗶哩視頻\shangguigu\嗶哩嗶哩視頻\空城計算器\數據挖掘期末必考計算題之FP growth,看這個就過了
1.每一行都去重
2.全部掃描 所有元素按頻次從高到低排序
3.fp-list 按頻次從高到低從左往右排序,且每一行的元素按頻次高低的元素順序排序
4.每一行 取出不滿足最小支持度的元素
5.在4的基礎上畫出fp樹 頭結點連接每個元素第一次出現的位置
6. 第一行 K E M O Y 從上往下第一條線
第二行 K E O Y 元素O沒有連上之前的M 從開一條線
依次類推
7. 在不同分支上的同種元素 虛線連接
8. 按頻次倒序排序 求出每個元素的 條件模式基 就是求其各條線上 其所有父節點練成的線 并包括每個父節點的頻次 并剔除不滿足最小支持度的項目 最后條件模式基里面的元素再分別
和 項 組成 頻繁二項,三項,… n項集等
9.支持度和置信度的計算同apriori
條件模式基:當前節點之前的所有節點
算法實現:
/**
- FPGrowth算法的主要思想:
-
- 構造頻繁1項集:遍歷初始數據集構造頻繁1項集,并作為項頭表,建立將指向fpTree節點對應元素的引用
-
- 構造FPTree:再次遍歷初始數據集,對于每一條事務中的元素,根據頻繁1項集中元素的順序排序,
- 由此建立FPTree,記錄每條事務的節點在同一條路徑上出再的節點次數;
-
- 逆序遍歷在步驟1中構造的項頭表,根據其提供的引用指針,找出fpTree中由該節點到根節點的路徑,
- 即生成每個頻繁元素的條件模式基
- 4. 根據每個頻繁元素對應的條件模式基,生成其對應的條件fpTree,并刪除樹中節點記數不滿足給定的最小支持度的節點
- 5. 對于每一顆條件fpTree,生成所有的從根節點到葉子節點的路徑,由路徑中的集合生成其所有非空子集
- 所有這些非空子集和每一個頻繁1項集中的元素共同構成了原始數據集中的頻繁集
*/
20210817
頻繁k項集不滿足要求 其k+1項集 肯定不滿足要求
k+1項集是頻繁項集 那么其 所有的k項集都一定是頻繁項集
https://blog.csdn.net/lbweiwan/article/details/82725466
Apriori算法
支持度: 分子為同時出現的計數 分母為總的記錄條數
置信度 分子為同時出現的計數 分母為 其中一部分出現的總的計算
最后的規則為 只需要再重新計算 每條規則的置信度就可以了
總結
以上是生活随笔為你收集整理的Apriori算法通俗详解_fpgrowth2_关联分析评估的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 闭包和回调
- 下一篇: mahout相关笔记