St_Hakky’s blog

Data Science / Human Resources / Web Applicationについて書きます

Rでアソシエーション分析:アプリオリアルゴリズム編

こんにちは。

○arulesを使ってアソシエーション分析

■arules関係のパッケージ

以下のサイトにまとまっている。

lyle.smu.edu

■インストールと読み込み
# “arules”のインストール
install.packages("arules")

# ライブラリの読み込み
library(arules)
■データの読み込みと中身の確認

今回は、arulesパッケージ付属のサンプルデータセット「Groceries」を使う。

# データの読み込み
data(Groceries)

# 型を確認
class(Groceries)

# 中身を上5件出力
inspect(head(Groceries))

# 基本統計量の出力
summary(Groceries)

# 相対出現頻度によるヒストグラムを出力
itemFrequencyPlot(Groceries, support=0.06, cex.names=1.0)

以下の図は、相対出現頻度によるヒストグラムを出力をした結果である。

f:id:St_Hakky:20170207173730j:plain

■ちょっとここで脱線:arulesのデータ型ってどんな風になってんの?笑

[工事中]

アプリオリアルゴリズムの適用
# アプリオリアルゴリズムの実行
rules <- apriori(Groceries, parameter=list(support=0.005, confidence=0.01))
■結果の出力・可視化

arulesVizパッケージを結果の可視化には使います。

# パッケージのロード
library(arulesViz)

散布図の出力をする。

# 散布図

plot(rules)

f:id:St_Hakky:20170207191952j:plain

バブルチャートも出力して見る。

# アソシエーションルールのバブルチャート

plot(rules, method="grouped", control=list(k=10))

f:id:St_Hakky:20170207192319j:plain

グラフで表示して見る。

# アソシエーションルールをグラフで書く

plot(rules_high_lift, method="graph", control=list(type="items"), interactive=TRUE)

f:id:St_Hakky:20170207193222j:plain

以上!