R語言 資料探勘 R語言如何做關聯規則?

2021-08-01 15:35:34 字數 2073 閱讀 9442

一、前言

提到資料探勘,我們第一反應就是之前聽到的啤酒和尿不濕的故事,該故事就是典型的資料探勘中的關聯規則。購物籃分析區別於傳統的線性回歸的主要區別為,關聯分析針對離散資料;下面我們利用r語言的arules包及apriori演算法對商品交易資料進行關聯規則挖掘,

二、常見關聯規則:

關聯規則:牛奶=>雞蛋【支援度=2%,置信度=60%】

支援度:分析中的全部事務的2%同時購買了牛奶和雞蛋,需設定域值,來限定規則的產生;

置信度:購買了牛奶的筒子有60%也購買了雞蛋,需設定域值,來限定規則的產生;

最小支援度閾值和最小置信度閾值:由挖掘者或領域專家設定。

項集:項(商品)的集合

k-項集:k個項組成的項集

頻繁項集:滿足最小支援度的項集,頻繁k-項集一般記為lk

強關聯規則:滿足最小支援度閾值和最小置信度閾值的規則

四、演算法步驟(兩步法)

第一步先找出所有的頻繁項集;

第二步再由頻繁項集產生強關聯規則

五、r語言實現過程

######以arules包中的資料集groceries為例。

#####1、載入arules包,獲取資料集。

library(arules)

data

(groceries)

#####2、eclat演算法求頻繁項集。

freq_sets

inspect(freq_sets[1:10])#檢視頻繁項集的前十項

inspect(sort(freq_sets,by="support")[1:10]) #根據支援度對求得的頻繁項集排序並檢視,結果如圖。

結果解讀:第乙個項集表示,如果有100個人去買東西,那麼可能有25個人會買「whole milk」,可能有19個人會買「other vegetables」,等等。

#####3、apriori演算法求關聯規則。

rules=apriori(groceries,parameter=list(support=0.01,confidence=0.3))

inspect(sort(rules,by="support")[1:10])#檢視前十條關聯規則

結果解讀:第一條規則,support=0.0748表示「other vegetables」與「whole milk」同時購買的概率為0.0748;confidence=0.3868表示購買了「other vegetables」的同時,還購買「whole milk」的概率為0.3868,lift=1.51>1.00表明購買「other vegetables」對於提公升購買「whole milk」的作用度為1.51.

注:lift是判斷關聯規則是否可靠的乙個指標,lift=1說明兩個條件沒有任何關聯;lift<1說明兩個條件是相斥的;一般在資料探勘中選擇當提公升度大於3時,才承認挖掘出的關聯規則是有價值的。

#####4、根據需求條件求關聯規則子集。

x=subset(rules,subset=rhs%in%"whole milk"&lift>=1.2)#求rhs為「whole milk」且作用度大於1.2的規則。

#####5、關聯規則視覺化

R語言資料探勘值關聯規則挖掘

關聯規則挖掘步驟及 如下 設定工作目錄 setwd e project rexample enterpresponser apriori 載入兩個包 library matrix library arules 讀取資料 幫助文件 tr read.transactions my transaction...

R語言資料探勘2 1 2 1 關聯規則

2.1.2.1 關聯規則 關聯分析可以從海量資料集中發現有意義的關係,這種關係可以表示成關聯規則的形式或頻繁項集的形式。具體的關聯分析演算法將在後面乙個章節中給出。關聯規則挖掘旨在發現給定資料集 事務資料集或其他序列 模式 型別資料集 中的結果規則集合。給定預先定義的最小支援度計數s和置信度c,給定...

R語言資料探勘資料

包含理論知識與rpart包例項。包含演算法的自行實現,以及rweka包的c4.5演算法 tree包的cart演算法。離散選擇模型大師kenneth train的個人主頁,提供了matlab r和gauss的源 個人推薦r 中的rsghb包,採用的估計方法是hierarchical bayes演算法,...