この記事を読んでわかること
・アソシエーション分析の意味と種類
・Rによるアソシエーション分析のやり方
・Rによるアソシエーション分析のサンプルコード
この記事は、実際にアソシエーション分析を手を動かしながら覚えたいという方向けに書いているので、理論のところの説明は省きいきなり実践方法を説明するようにしました。
今回実践練習として扱う例題は小売店のスーパーマーケットのアソシエーション分析です。
※アソシエーション分析とは?
アソシエーション分析とはお客さんが購入した商品から、同時に購入された商品との関連性を分析してマーケティングに応用する分析手法です。
例えば、amazonでこの商品を購入した人はこちらも購入していますという紹介や、YouTubeで次に来る動画を関連動画にすることなどです。
目次
用意するパッケージ
まずは以下のパッケージを用意しましょう。
・arules … アソシエーション分析をするためのパッケージ
アソシエーション分析は以下の手順で進めてください。
アソシエーション分析の流れ
① 必要なパッケージのインストール
② サンプルデータを取得し俯瞰
③ アソシエーションルールを抽出し、変更
④ アソシエーション分析の実行
1つずつ見ていきましょう。
① 必要なパッケージのインストール
# 必要なライブラリの読み込み
install.packages("arules")
library(arules)
まずはアソシエーション分析に必要なパッケージをインストールして読み込みます。
② サンプルデータを取得し俯瞰
# サンプルデータの読み込み
data("Groceries")
head(data[,1:7])

今回はあるスーパーマーケットでの購買履歴をサンプルデータとして扱います。
”x”の列が顧客番号で”FALSE”はその商品を過去1年間で購入しておらず、”TRUE”の場合は購入していることを表します。
③ アソシエーションルールを抽出し、変更
# アソシエーション分析のルールの確認
rule <- apriori(data)

4つのルールが定義していることを示します。
ここで、アソシエーション分析における種類について簡単に説明します。
アソシエーション分析は信頼度(confidence)、支持度(support)、リフト(lift)の3種類ありそれぞれ商品Aを購入した人が商品Bも購入する確率、全体の中で商品Aも商品Bも購入する確率、リフトに関しては信頼度を支持度で割ったものを指します。
アソシエーションルールの変更にてそれらの数値を指定します。
# アソシエーション分析のルールの変更
association.ap <- apriori(data,parameter=list(support=0.001,confidence=0.001,minlen=3,maxlen=3))

④ アソシエーション分析の実行
#実行
inspect(head(sort(association.ap,by="confidence"),5))

上の図より、シャツやゴルフクラブなどが一緒に購入されることが確認されます。
まとめ
以上がRによるアソシエーション分析の実践練習です。
今回のデータは元から加工する必要がなかったのですが、おそらくみなさんが扱うデータについては加工が必要なケースもあると思うので少し工夫してみてください。
このコードはそのまま他のデータでもお使い可能なので、エラーが出るところだけ修正して使ってみてもいいかもしれないですね!
ぜひみなさんのアソシエーション分析ライフを応援しています!
それでは最後に今回使ったコードを下に載せておきます。
今回使用したコード
# 必要なライブラリの読み込み
install.packages("arules")
library(arules)
# サンプルデータの読み込み
data("Groceries")
head(data[,1:7])
# アソシエーション分析のルールの確認
rule <- apriori(data)
# アソシエーション分析のルールの変更
association.ap <- apriori(data,parameter=list(support=0.001,confidence=0.001,minlen=3,maxlen=3))
#実行
inspect(head(sort(association.ap,by="confidence"),5))
コメントを残す