《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》筆記(十一):Ch11 - 使用Apripri算法進(jìn)行關(guān)聯(lián)分析

第11章 使用Apriori算法進(jìn)行關(guān)聯(lián)分析(代碼)

  • 關(guān)聯(lián)分析

    • 關(guān)聯(lián)分析是一種在大規(guī)模數(shù)據(jù)集中尋找有趣關(guān)系的任務(wù)御板。這些關(guān)系可以有兩種形式:

      • 頻繁項(xiàng)集(frequent item sets): 經(jīng)常出現(xiàn)在一塊的物品的集合影钉。

      • 關(guān)聯(lián)規(guī)則(associational rules): 暗示兩種物品之間可能存在很強(qiáng)的關(guān)系。

交易號(hào)碼 商品
0 豆奶草莓
1 草莓缩举,尿布,啤酒匹颤,辣椒醬
2 豆奶仅孩,尿布,黃瓜印蓖,餅干
3 黃瓜辽慕,餅干,尿布赦肃,啤酒
4 黃瓜溅蛉,啤酒,尿布他宛,黃瓜

頻繁項(xiàng)集指的就是那些經(jīng)常一起出現(xiàn)的物品集合船侧,比如{啤酒,尿布厅各,餅干}就是頻繁項(xiàng)集中的一個(gè)例子镜撩,而根據(jù)上表也可以找到尿布->啤酒這樣的關(guān)聯(lián)規(guī)則。而我們是要通過(guò)關(guān)聯(lián)分析大規(guī)模數(shù)據(jù)從而發(fā)現(xiàn)數(shù)據(jù)之間存在的有趣關(guān)系队塘,那么問(wèn)題來(lái)了琐鲁,什么樣的關(guān)系是有趣的呢?而這個(gè)有趣又是怎么定義的呢人灼?我們可以通過(guò)支持度(support)和可信度(置信度confidence)來(lái)定義围段。一個(gè)項(xiàng)集的支持度指的是數(shù)據(jù)集中包含該項(xiàng)集記錄所占的比例,上例中{豆奶}的支持度是2/5,{啤酒投放,尿布}的支持度是3/5奈泪;可信度是針對(duì)于像{尿布}->{啤酒}這樣的關(guān)聯(lián)規(guī)則來(lái)定義的,定義為:支持度({尿布,葡萄酒})/支持度(尿布).

  • Apriori 原理

    • Apriori算法優(yōu)缺點(diǎn)

      • 優(yōu)點(diǎn):易編碼實(shí)現(xiàn)

      • 缺點(diǎn):在大數(shù)據(jù)集上可能較慢

      • 適用數(shù)據(jù)類型:數(shù)值型 或者 標(biāo)稱型數(shù)據(jù)涝桅。

    • Apriori 算法流程步驟

      • 收集數(shù)據(jù):使用任意方法

      • 準(zhǔn)備數(shù)據(jù):任何數(shù)據(jù)類型都可以拜姿,因?yàn)槲覀冎槐4婕?/p>

      • 分析數(shù)據(jù):使用任意方法

      • 訓(xùn)練數(shù)據(jù):使用Apiori算法來(lái)找到頻繁項(xiàng)集

      • 測(cè)試算法:不需要測(cè)試過(guò)程

      • 使用算法:用于發(fā)現(xiàn)頻繁項(xiàng)集以及物品之間的關(guān)聯(lián)規(guī)則

  • 使用Apriori算法來(lái)發(fā)現(xiàn)頻繁集

    • Apriori 算法的兩個(gè)輸入?yún)?shù)分別是最小支持度和數(shù)據(jù)集

    • 該算法首先會(huì)生成所有單個(gè)物品的項(xiàng)集列表

    • 接著掃描交易記錄來(lái)查看哪些項(xiàng)集滿足最小支持度要求,那些不滿足最小支持度要求的集合會(huì)被去掉

    • 燃盡后對(duì)生下來(lái)的集合進(jìn)行組合以聲場(chǎng)包含兩個(gè)元素的項(xiàng)集

    • 接下來(lái)再重新掃描交易記錄冯遂,去掉不滿足最小支持度的項(xiàng)集

    • 該過(guò)程重復(fù)進(jìn)行直到所有項(xiàng)集被去掉

    • 生成候選項(xiàng)集

      • 數(shù)據(jù)集掃描偽代碼

        • 對(duì)數(shù)據(jù)集中的每條交易記錄 tran

        • 對(duì)每個(gè)候選項(xiàng)集 can

        • 檢查一下 can 是否是 tran 的子集: 如果是則增加 can 的計(jì)數(shù)值

        • 對(duì)每個(gè)候選項(xiàng)集

        • 如果其支持度不低于最小值蕊肥,則保留該項(xiàng)集

        • 返回所有頻繁項(xiàng)集列表

  • 從頻繁項(xiàng)集中挖掘關(guān)聯(lián)規(guī)則

    頻繁項(xiàng)集可以使用Apriori算法尋找,當(dāng)然下來(lái)就是要找出關(guān)聯(lián)規(guī)則了蛤肌。我們知道壁却,假設(shè)有一個(gè)頻繁項(xiàng)集,它們之間就有可能有一條關(guān)聯(lián)規(guī)則裸准,即可以表示為:"...—>..."展东,但反過(guò)來(lái)并不一定成立(其中箭頭左邊對(duì)應(yīng)的集合為前件,箭頭右邊對(duì)應(yīng)的集合為后件)炒俱。在上一節(jié)盐肃,我們使用最小支持度來(lái)量化頻繁項(xiàng)集,對(duì)應(yīng)的权悟,采用可信度來(lái)量化關(guān)聯(lián)規(guī)則砸王。其中一條規(guī)則p—>H的可信度定義為:support(P|H)/support(P),為找到其中的關(guān)聯(lián)規(guī)則峦阁,我們可以先生成一個(gè)可能的規(guī)則列表处硬,然后測(cè)試每條規(guī)則的可信度,結(jié)合可信度的最小要求拇派,得到關(guān)聯(lián)規(guī)則荷辕。同尋找頻繁項(xiàng)集類似,我們可以為每個(gè)頻繁項(xiàng)集產(chǎn)生許多關(guān)聯(lián)規(guī)則件豌,這樣就會(huì)有很多的關(guān)聯(lián)規(guī)則產(chǎn)生疮方。結(jié)合Apriori原理,如果某條規(guī)則不滿足最小可信度要求茧彤,那么該規(guī)則的所有子集也就不滿足最小可信度要求骡显,據(jù)此我們可以減少需要測(cè)試的規(guī)則數(shù)目,簡(jiǎn)化問(wèn)題曾掂。

    • 尋找關(guān)聯(lián)規(guī)則的思想

      • 從一個(gè)頻繁項(xiàng)集開始惫谤,創(chuàng)建一個(gè)規(guī)則列表,首先將規(guī)則的右邊限定為一個(gè)元素珠洗,對(duì)這些規(guī)則進(jìn)行測(cè)試
      • 合并剩下的規(guī)則來(lái)創(chuàng)建一個(gè)新的規(guī)則列表溜歪,規(guī)則的右邊限定為兩個(gè)元素
  • 小節(jié)

    • 關(guān)聯(lián)分析適用于發(fā)現(xiàn)發(fā)數(shù)據(jù)之間有趣關(guān)系的一個(gè)工作集,可以采用兩種方式许蓖,一種是使用頻繁項(xiàng)集蝴猪,另外一種是使用關(guān)聯(lián)規(guī)則

    • 使用Apriori原理可以有效的減少數(shù)據(jù)庫(kù)上進(jìn)行檢查的集合的數(shù)目


代碼托管見(jiàn)Github

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末调衰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子自阱,更是在濱河造成了極大的恐慌嚎莉,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沛豌,死亡現(xiàn)場(chǎng)離奇詭異趋箩,居然都是意外死亡诈茧,警方通過(guò)查閱死者的電腦和手機(jī)匙头,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門枯跑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)龄毡,“玉大人,你說(shuō)我怎么就攤上這事推姻。” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵醉旦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我桨啃,道長(zhǎng)车胡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任照瘾,我火速辦了婚禮匈棘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘析命。我一直安慰自己主卫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布鹃愤。 她就那樣靜靜地躺著簇搅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪软吐。 梳的紋絲不亂的頭發(fā)上瘩将,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音凹耙,去河邊找鬼姿现。 笑死,一個(gè)胖子當(dāng)著我的面吹牛肖抱,可吹牛的內(nèi)容都是我干的备典。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼意述,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼熊经!你這毒婦竟也來(lái)了泽艘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤镐依,失蹤者是張志新(化名)和其女友劉穎匹涮,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體槐壳,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡然低,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了务唐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雳攘。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖枫笛,靈堂內(nèi)的尸體忽然破棺而出吨灭,到底是詐尸還是另有隱情,我是刑警寧澤刑巧,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布喧兄,位于F島的核電站,受9級(jí)特大地震影響啊楚,放射性物質(zhì)發(fā)生泄漏吠冤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一恭理、第九天 我趴在偏房一處隱蔽的房頂上張望拯辙。 院中可真熱鬧,春花似錦颜价、人聲如沸涯保。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)夕春。三九已至,卻和暖如春横辆,著一層夾襖步出監(jiān)牢的瞬間撇他,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工狈蚤, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留困肩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓脆侮,卻偏偏與公主長(zhǎng)得像锌畸,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子靖避,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容