R でアプリオリ・アルゴリズムを動かしてみる(arules パッケージを使用)

概要

arules パッケージを使い,トランザクションデータ(買い物かごのデータなど,項目の集合を1件とするデータ)から,アプリオリ・アルゴリズムによりアソシエーションルール(相関ルール,「Aを買うとBも買う」といった規則)を抽出する.

目次

関連する外部ページ

https://cran.r-project.org/web/packages/arules/index.html

第1章 前準備

R システムのインストール

R のプログラミングについては,別のページにまとめている.

第2章 arules パッケージのインストール

  1. R の起動
  2. install.packages("arules") の実行
    if (!require("arules")) install.packages("arules")
    
    初めてパッケージをインストールするときには,次の操作が必要になる.
    1. Windows では,初めて何らかのパッケージをインストールするとき,管理者権限がない場合,ユーザ領域にインストールするという表示が出る.「はい」をクリックする.

      次の表示が出た場合には,「はい」をクリックする.

    2. ミラーサイトは,日本のものを選ぶ.
  3. library(arules) の実行
    library(arules)
    
  4. 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

使ってみる

  1. R の起動
  2. library(arules) の実行
  3. カンマ区切りのデータファイルを,transaction データとして読み込む

    D:/test.csv」のところには,ファイル名を指定する.

    r<-read.transactions("D:/test.csv", format="basket", sep=",")
    
  4. transaction データの読み込み結果の確認
    image(r)
    
  5. transaction データの情報取得
    print(r)
    
  6. item frequency plot(項目の出現頻度を表す棒グラフ)の作成
    itemFrequencyPlot(r, support = 0.2)
    
  7. アプリオリ・アルゴリズムの実行
    rules <- apriori(r, parameter= list(supp=0.5, conf=0.5))
    inspect(rules)
    
  8. 取得されたルールの統計情報
    summary(rules)
    
  9. 取得されたルールの並べ替え
    inspect(sort(rules, by = "confidence"))
    
  10. 取得されたルールのファイルへの保存
    sink("D:/result.txt")
    inspect(sort(rules, by = "confidence"))
    sink()
    

    ファイルができるので確認する.