R でアプリオリ・アルゴリズムを動かしてみる(arules パッケージを使用)
【概要】
arules パッケージを使い,トランザクションデータ(買い物かごのデータなど,項目の集合を1件とするデータ)から,アプリオリ・アルゴリズムによりアソシエーションルール(相関ルール,「Aを買うとBも買う」といった規則)を抽出する.【目次】
【関連する外部ページ】
https://cran.r-project.org/web/packages/arules/index.html第1章 前準備
R システムのインストール
R のプログラミングについては,別のページにまとめている.
第2章 arules パッケージのインストール
- R の起動
- install.packages("arules") の実行
if (!require("arules")) install.packages("arules")
初めてパッケージをインストールするときには,次の操作が必要になる.- Windows では,初めて何らかのパッケージをインストールするとき,管理者権限がない場合,ユーザ領域にインストールするという表示が出る.「はい」をクリックする.
次の表示が出た場合には,「はい」をクリックする.
- ミラーサイトは,日本のものを選ぶ.
- Windows では,初めて何らかのパッケージをインストールするとき,管理者権限がない場合,ユーザ領域にインストールするという表示が出る.「はい」をクリックする.
- library(arules) の実行
library(arules)
- vignette("arules") の実行
第3章 使ってみる
transaction データのファイルの準備
テスト用として,次のような,カンマ区切りのデータファイルを準備する.
1,2,3,4,7,9
2,3,4,5
1,2,5,7,8,9
1,7,9
3,4,5,7
使ってみる
- R の起動
- library(arules) の実行
- カンマ区切りのデータファイルを,transaction データとして読み込む
「D:/test.csv」のところには,ファイル名を指定する.
r<-read.transactions("D:/test.csv", format="basket", sep=",")
- transaction データの読み込み結果の確認
image(r)
- transaction データの情報取得
print(r)
- item frequency plot(項目の出現頻度を表す棒グラフ)の作成
itemFrequencyPlot(r, support = 0.2)
- アプリオリ・アルゴリズムの実行
rules <- apriori(r, parameter= list(supp=0.5, conf=0.5)) inspect(rules)
- 取得されたルールの統計情報
summary(rules)
- 取得されたルールの並べ替え
inspect(sort(rules, by = "confidence"))
- 取得されたルールのファイルへの保存
sink("D:/result.txt") inspect(sort(rules, by = "confidence")) sink()
ファイルができるので確認する.