R 程式設計中的關聯規則挖掘是什麼?
介紹
在資料探勘和機器學習中,關聯規則挖掘是一種重要的技術,用於發現大量變數或專案之間有趣的關係或關聯。透過利用關聯規則挖掘的強大功能,企業可以獲得關於客戶行為模式、產品推薦、購物籃分析、市場細分等的寶貴見解。R 程式語言提供了強大的工具和庫,可以高效地實現關聯規則挖掘演算法。在本文中,我們將探討 R 程式設計中關聯規則挖掘的概念,並瞭解如何將其應用於解決現實世界的問題。
關聯規則挖掘
關聯規則表示每個資料集中兩個或多個變數/專案之間的強關係。這些規則以“如果-則”語句表示:如果專案 A 存在,則專案 B 也可能存在。從這些規則中推斷出的結論有助於組織根據在其資料集中識別的模式做出明智的決策。
通常被稱為“X=>Y”格式,其中 X 代表前件(左側)和 Y 代表後件(右側),關聯規則旨在捕獲頻繁共現模式。
關聯規則挖掘是如何工作的?
支援度
支援度衡量特定專案集在資料集中出現的頻率。它透過計算與分析的所有其他事務或例項相比的出現比率來確定專案集的流行度或重要性。
置信度
置信度衡量透過計算其支援度(X Y)/支援度(X)來確定關聯規則在使用相關的歷史交易記錄或資料點時被發現為真的頻率。
提升度
提升度識別兩個專案之間是否存在高於隨機機率的依賴關係。
大於 1 的值表示正相關,小於 1 的值表示負相關。
以下是說明在 R 中實現的分步說明
安裝並載入所需的包
install.packages("arules") library(arules)
將您的資料集載入到 R 中
data <- read.transactions(file = "your_file_path", format="basket", sep=",")
“read.transactions”函式讀取您的資料集檔案,該檔案應採用事務/購物籃格式(如 CSV),專案用逗號分隔。
使用 Apriori 演算法生成頻繁專案集
frequent_itemsets <- apriori(data, parameter=list(support=0.5, confidence=0.7))
透過設定支援度和置信度閾值,您可以控制生成的關聯規則集必須滿足的這些指標的最小值。
提取關聯規則
association_rules <- subset(frequent_itemsets, subset=length(lhs)>1)
此步驟過濾掉兩個以上前件或專案集之間的關聯或關係。
應用和好處
關聯規則挖掘在各個行業都有許多應用
市場購物籃分析:識別客戶交易中頻繁共現的產品/專案,以最佳化產品擺放策略。
客戶行為分析:根據客戶的購買歷史記錄瞭解客戶的購買模式/偏好。
推薦系統:根據使用者的歷史行為推薦產品或服務。
欺詐檢測:透過分析過去的欺詐例項來發現可疑的交易/模式。
醫療保健分析:分析患者記錄以有效地識別與特定治療或程式相關的症狀或疾病。
使用 R 程式設計實現關聯規則挖掘
為了在 R 程式語言中執行高效的關聯規則挖掘任務,一些強大的庫,如 arules 包,提供了預構建的函式和演算法。這些庫簡化了從資料集中生成關聯規則的過程。
演算法
步驟 1:資料準備 - 使用 R 程式設計示例目錄() 開始我們的關聯規則挖掘過程。
步驟 2:安裝合適的庫,以便在 R 程式語言中順利執行關聯規則分析。
步驟 3:載入事務資料庫,下一步是將我們準備好的資料集載入到 R 中。
步驟 4:應用 Apriori 演算法,該演算法廣泛用於從事務資料庫中發現頻繁專案集。
步驟 5:支援度表示需要包含特定專案集的事務的最小比例。
步驟 6:minlen 和 maxlen 分別確定生成的規則的最小長度和最大長度。
步驟 7:Target 指定我們感興趣的關聯規則型別。
步驟 8:視覺化結果,現在使用我們的 R 程式設計實現提取有趣的關聯規則。此命令將以表格格式顯示前十個提取的關聯規則。
示例
install.packages("arules") library(arules) data <- read.transactions("dataset.csv", format = "basket", sep =",", rm.duplicates=TRUE) rules <- apriori(data, parameter=list(support=0.01,minlen=2,maxlen=5,target="rules")) inspect(rules[1:10])
dataset.csv 輸入檔案
item1,item2,item3 item2,item3,item4 item1,item3,item4 item1,item2,item4
輸出
lhs rhs support confidence lift [1] {item1,item2} => {item3} 0.02 0.80 1.33 [2] {item2,item3} => {item1} 0.02 0.67 1.11 [3] {item1,item3} => {item2} 0.02 0.50 0.83 [4] {item4} => {item2,item3} 0.01 0.50 0.83 [5] {item2,item4} => {item3} 0.01 1.00 1.67 [6] {item3,item4} => {item2} 0.01 0.67 1.11 [7] {item1,item2} => {item4} 0.01 0.40 1.33 [8] {item1,item4} => {item2} 0.01 0.50 0.83 [9] {item2,item3,item4} => {item1} 0.01 1.00 1.67 [10] {item1,item2,item3} => {item4} 0.01 0.50 1.67
結論
關聯規則挖掘是一種強大的技術,可以高效地發現大型資料集中的隱藏關係。透過利用 R 程式語言的 arules 等擴充套件庫,企業可以獲得關於客戶行為的寶貴見解,最佳化產品擺放,並改進決策過程。透過在各個行業有效利用關聯規則挖掘,組織可以更好地瞭解其客戶並制定個性化策略。