當前位置:偏方大全网 - 藥品查詢 - 用r語言進行相關分析

用r語言進行相關分析

用r語言進行相關分析

相關性是兩個或多個變量之間的壹種重要的、可發現的規律性。關聯分析的目的是發現給定數據記錄集中數據項之間的隱藏關聯,並描述數據之間的緊密程度。

幾個基本概念

1.項目集

這是壹個集合的概念。壹籃子商品中的壹個消費品就是壹個物品,幾個物品的集合就是壹個物品集,比如{啤酒,尿布}形成壹個二元物品集。

2.關聯規則

壹般用的形式寫,其中x是前提,y是對應的相關結果,用來表示數據內部隱含的相關性。比如買紙尿褲的消費者經常買啤酒。

相關性的強度由三個概念控制和評估——支持、信任和促進。

例如,65,438+00,000名消費者購買了商品,其中包括65,438+0000片紙尿褲、2,000瓶啤酒、500個面包、800片紙尿褲和面包、65,438+000片紙尿褲和面包。

3.支持(支持)

支持度是指{X,Y}出現在所有項集中的可能性,即壹個項集同時包含X和Y的概率:

作為建立強關聯規則的第壹個閾值,該指標度量了所研究的關聯規則的數量。通過設置最小閾值(minsup),剔除出現率低的無意義規則,保留頻繁項集隱含的規則。

設置最小閾值為5%,因為{尿布,啤酒}的支持度為800/10000=8%,滿足基本損失要求,成為頻繁項集,保留規則;但是{紙尿褲和面包}的支持度是100/10000=1%,被拒絕。

4.信心

置信度表示在先決條件X出現的情況下,相關結果Y出現的概率:

這是生成強關聯規則的第二個閾值,它衡量所研究的關聯規則的“質量”可靠性。同樣,我們需要為置信度設置壹個最小閾值(mincon ),以實現進壹步的篩選。

具體來說,當置信度的最小閾值設置為70%時,置信度為800/1000=80%,而置信度為800/2000=40%,則被拒絕。

5.電梯

提升程度表示在包含X的條件下同時包含Y的可能性與在不包含X的項集中包含Y的可能性的比率:

這個指標和置信度壹樣,衡量規則的可靠性,可以看作是置信度的補充指標。

r中的Apriori算法

算法步驟:

1.選擇所有滿足最小支持度閾值的項集,即頻繁項集;

2.從頻繁項集中找出滿足最小置信度的所有規則。

& gt庫(arules) #加載arules包

& gt點擊_詳情=閱讀。transactions ("click _ detail.txt ",format = "basket ",sep = ",",cols = c (1)) # Read txt文檔(文檔代碼為ANSI)。

& gt規則& lt-apriori (click _ detail,parameter = list (supp = 0.01,conf = 0.5,target = "rules")) #調用apriori算法。

& gt規則

419規則集

& gtinspect(rules[1:10])#查看十大規則。

解釋

1)庫(arules):加載包arules。當然,如果妳之前沒有下載過這個包,妳必須先安裝. packages(arules)。

2)點擊_詳細=閱讀。transactions ("click _ detail.txt ",format = "basket ",sep = ",",cols = c (1)):讀取數據。

read.transactions(file,format =c("basket "," single "),sep = NULL,

cols = NULL,rm.duplicates =FALSE,encoding = "unknown ")

文件:文件名,對應click_detail中的“click_detail.txt”。

格式:有兩種文件格式,分別是“筐”和“單”。click_detail.txt使用購物籃。

籃子:籃子就是壹個籃子,客戶買的所有東西都放在同壹個籃子裏,所有客戶的交易都是籃子組合的結果。在下面的表單中,每個事務都是獨立的。

文件形式:

項目1,項目2

項目1

項目2,項目3

讀後感:

項目

1 {item1,

項目2}

2 {item1}

3 {item2,

第3項}

單:單的意思,顧名思義,就是單獨的交易。簡而言之,交易記錄是:客戶1買了產品1,客戶1買了產品2,客戶2買了產品3...(產品1,產品2,產品3可以是單個產品,也可以是多個產品)。

trans1 item1

trans2 item1

運輸2項目2

讀後感:

項目交易ID

1 { item 1 } trans 1

2 {item1,

項目2}交易2

Sep:文件中的數據是如何分隔的?默認值為空格,click_detail由逗號分隔。

Cols:對於basket,col=1,表示第壹列是數據的事務ID;如果col=NULL,則表示數據中沒有事務ID列;對於single,col=c(1,2)表示第壹列是事務id,第二列是項目id。

Rm.duplicates:是否刪除重復項,默認為FALSE。

編碼:我寫到這裏研究編碼的含義,發現txt可能不是ANSI類型。如果TXT是UTF-8,寫編碼= UTF-8,就OK了。

3)規則& lt-apriori (click _ detail,parameter = list (supp = 0.01,conf = 0.5,target = "rules")): apriori函數。

apriori(數據,參數=空,外觀=空,控制=空)

數據:數據

參數:設置參數。默認情況下,parameter = list (supp = 0.1,conf = 0.8,Maxlen = 10,Minlen = 1,target = "rules ")。

補充:支持程度

Conf:信心

Maxlen,minlen:每個項集中包含的最大和最小項數。

目標:“規則”或“頻繁項集”(輸出關聯規則/頻繁項集)

外觀:限制先決條件X(lhs)和關聯結果Y(rhs)中包含哪些項目。例如,如果設置了lhs=beer,則只輸出與lhs中的beer關聯的規則。默認情況下,所有項目都將無限期顯示。

Control:控制函數的性能,例如,如果項目集可以按升序排序=1或降序排序=-1,是否向用戶報告進度(verbose=F/T)

補充

通過支持控制:規則。sorted _ sup = sort (rules,by = "support ")

通過信心控制:規則。sorted _ con = sort (rules,by = "confidence ")

通過升降控制:規則。sorted _ lift = sort (rules,by = "lift ")

Apriori算法

兩步法:

1.頻繁項集的生成:找出所有滿足最小支持度閾值的項集,稱為頻繁項集;

2.規則生成:對於每個頻繁項集L,找出所有非空子集;然後,對於每個這樣的子集A,如果支持度(l)與支持度(A)之比大於最小可靠度,則存在規則A = = >;(左半部分).

頻繁項集生成所需的計算開銷遠遠大於規則生成所需的計算開銷。

頻繁項目集的生成

幾個概念:

1,壹個包含k個項目的數據集,可能產生2 k個候選集。

2.超越原理:如果壹個項集是頻繁的,那麽它的所有子集都是頻繁的(很容易理解頻繁項集的含義);相反,如果壹個項目集是非頻繁的,它的所有子集也必須是非頻繁的。

3基於支持度度量的壹個關鍵性質:壹個項集的支持度不會超過其子集的支持度(很好理解,支持度是* * *重合的概率,假設項集{A,B,C}和{A,B}是自己的,A,B,C重合的概率肯定不會超過A,B重合的概率。

在Apriori中使用上述規則,如下圖所示。當尋找頻繁項集時,從上到下掃描。當壹個項集是非頻繁項集時(這個項集的支持度小於Minsup),那麽它下面的項集壹定是非頻繁項集,這部分會被剪枝。

壹個例子(在百度的壹個PPT上):

當我理解了頻繁項集的含義後,我簡單地在R上重現了這個例子,這裏采用了eclat算法,應該類似於apriori:

代碼:

item & lt-列表(

c(“面包”、“牛奶”),

c(“面包”、“尿布”、“啤酒”、“雞蛋”),

c(“牛奶”、“尿布”、“啤酒”、“可樂”),

c(“面包”、“牛奶”、“尿布”、“啤酒”),

c(“面包”、“牛奶”、“尿布”、“可樂”)

)

名稱(項目)& lt- paste("tr ",c(1:5),sep = " ")

項目

trans & lt-as(item," transactions") #將列表轉換為事務。

rules = eclat(trans,parameter = list(supp = 0.6,

target = "頻繁項集"),control = list(sort=1))

Inspect(rules) #查看頻繁項目集

運行後的結果:

& gt檢查(規則)

項目支持

1 {啤酒,

尿布} 0.6

2 {尿布,

牛奶} 0.6

3 {面包,

尿布} 0.6

4 {面包,

牛奶} 0.6

5啤酒0.6

6 {牛奶} 0.8

7 {面包} 0.8

8 {尿布} 0.8

這個例子的頻繁項集就這麽多了,然後我發現項集{面包,牛奶,尿布}不見了。當我回頭看例子時,這個項目集實際上只出現了兩次,所以沒有這樣的項目集。

規則的生成

每個頻繁K項集最多可以生成2k-2條關聯規則。

將項集Y分成兩個非空子集X和Y-X,使得x->: Y-X滿足置信度閾值。

定理:如果規則X->;Y-X不滿足置信閾值,那麽X '-->;Y-X '的規則必須不滿足置信度閾值,其中X '是X的子集。

Apriori按照下圖逐層計算。當發現壹個不滿足置信度的項集時,可以修剪該項集的所有子集的規則。

  • 上一篇:中國各省的好煙有哪些?
  • 下一篇:食品藥品監督管理系統工作總結
  • copyright 2024偏方大全网