マーケットバスケット入門

Rで学ぶマーケットバスケット分析

Christopher Bruffaerts

Statistician

概要

マーケットバスケット講座

  • 第1章: マーケットバスケット分析の導入
  • 第2章: 指標と手法
  • 第3章: 可視化
  • 第4章: 事例研究: MovieLensによる映画推薦

movie_lens_logo

Rで学ぶマーケットバスケット分析

バスケットとは?

バスケット=アイテムの集合

アイテム

  1. スーパーマーケットの商品
  2. オンラインサイトの商品
  3. DataCampのコース
  4. 視聴した映画

supermarket

バスケットの例:

  1. 食料品店でのバスケット

  2. Amazonのショッピングカート

  3. DataCampでの受講コース

  4. Netflixで視聴した映画

Rで学ぶマーケットバスケット分析

食料品店の例

店内の品揃え

all_products_emoticons

今日買うもの

  • パン1つ
  • チーズ3個

bread_3cheese

Rで学ぶマーケットバスケット分析

Rでの食料品店の例

店内の品揃え

store = c("Bread", "Butter",
          "Cheese", "Wine")
set.seed(1234)
n_items = 4
my_basket = data.frame(
                TID = rep(1,n_items),
                Product = sample(
                    store, n_items, 
                    replace = TRUE))

Rの出力

my_basket
  TID Product
1   1   Bread
2   1  Cheese
3   1  Cheese
4   1  Cheese
Rで学ぶマーケットバスケット分析

バスケットの中身は?

元のバスケット

購入した各アイテムにつき1行

  TID Product
1   1   Bread
2   1  Cheese
3   1  Cheese
4   1  Cheese

調整後のバスケット

購入した重複なしアイテムにつき1行

# A tibble: 2 x 3
    TID Product Quantity
  <dbl> <fct>      <int>
1     1 Bread          1
2     1 Cheese         3
Rで学ぶマーケットバスケット分析

Rのバスケットの中身は?

バスケットデータの整形

# バスケットを調整
my_basket = my_basket %>%
                add_count(Product) %>%
                unique() %>% 
                rename(Quantity = n)
# 異なるアイテム数
n_distinct(my_basket$Product)
2
# 合計点数
my_basket %>% summarize(sum(Quantity))
4
Rで学ぶマーケットバスケット分析

バスケット内アイテムを可視化

バスケット内アイテムの可視化

# アイテムをプロット
ggplot(my_basket,
    aes(x=reorder(Product, Quantity),
        y = Quantity)) +
          geom_col() +
        coord_flip() +
        xlab("Items") +
        ggtitle("バスケット内
                アイテムの要約")

distribution_basket_bread_cheese

Rで学ぶマーケットバスケット分析

なぜ私のバスケットを見るのか?

質問: バスケット内のアイテム間に関係はあるか?

baskets

例に戻る

  1. 食料品店のバスケット 例: スパゲッティとトマトソース

  2. Amazonのカート 例: スマホとケース

  3. DataCampの受講コース 例: "Introduction to R" と "Intermediate R"

Rで学ぶマーケットバスケット分析

よいお買い物を!

Rで学ぶマーケットバスケット分析

Preparing Video For Download...