Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
株式会社ユーリエ
代表取締役社長 兼 CTO
池内 孝啓
みんなの Python 勉強会 #6
2015-11-09
2
Agenda
• 自己紹介
• アソシエーション分析とは
• 実装編
• 俺のアソシエーション分析がこんな(略
自己紹介
4
• 池内 孝啓 @iktakahiro
• 株式会社ユーリエ 代表取締役社長 兼 CTO
• PyData.Tokyo Organizer
• blog: https://librabuch.jp
5
自己紹介
• 2011-03 ∼ 2015-08

株式会社ALBERT
• 2014-11 ∼

PyData.Tokyo 設立
• 2015-08 ∼

株式会社ユーリエ 設立
6
経歴(結局雑
7
スーパー宣伝タイム
© 2015 eurie Inc.
「PyData入門」書きました
新刊でました
の紹介
11
12
Python+Dataを通じて

世界のPyDataエクスパートと

繋がるコミュニティーを作る
13
• #6 データマイニングコンペティション

(86/33人
• #5 自然言語処理(115/40人
• #4 データ解析アルゴリズムの高速化

(101/36人)
宣伝おわり
14
15
(タイトルはアレですが)

理論ではなくビジネス寄りの話をします
アソシエーション分析とは
16
スーパーのバスケット
人 買った物
Aさん パン、バター
Bさん パン、ジュース、サラダ
Cさん サラダ、玉子
Dさん バター、パン、ジュース
• パンとバターを一緒に買った人が2人
• パンとジュースを一緒に買った人が2人
18
併せ買いされやすい?
• 商品を近くに陳列する
• セット割引を行う
• Association rule, Frequent item-sets
• 「バスケット分析」が有名
• この商品をみているひとは

この商品もみています
• 共起性を求める分析
19
アソシエーション分析
共起性の指標
20
21
|X  Y |
• 商品 X と Y をどちらも購入した人
• 商品 X を 買った人が、 X と Y を買う確率

= Confidence
22
• 併売は全体に対してどの程度発生しているか

= Support
• Lift
Lift 図解
X > Y の Confidence は 0.5

Y は全体の 0.7
25
X > Y の Lift
26
• Jaccard 係数 (あとで実装をみせます)
• Dice 係数
|X  Y |
|X [ Y |
|X  Y |
|X| + |Y |
ツールでみる

アソシエーション分析
27
• http://orange.biolab.si/
• Orange.associate に Apriori アルゴリズム
(※1) が実装されています
• 実装例としてみるのはよいがこの

ツールは使わなくていいです
28
Python の...
• http://r-forge.r-project.org/projects/
arules
• arules パッケージ に Apriori, Eclat アルゴ
リズムが実装されています
29
R の場合
• https://spark.apache.org/docs/latest/
mllib-frequent-pattern-mining.html
• MLlib に FP-growth アルゴリズム (※1)
が実装 (v1.3 から)
•...
• http://gallery.cortanaanalytics.com/
MachineLearningAPI/
Recommendations-2
• Frequently Bought Together (FBT)
Recommenda...
実装編
32
• http://dask.pydata.org/en/latest/
dataframe.html
• pandas の Dataframe の(一部)互換
API を備え、裏側で並列処理をしてくれ
る
33
Dask - 並列処理パッケージ
34
- 最終回 -
Why don t you do your Best ?
35
古典的手法の1つですが

無闇に適応している例が散見される
36
37
某サイトの例(現在は改善されてます)
• この洗濯機を買っている人はこの

洗濯機も買っています => ないない;



てきな ※ キャプチャ自粛
• 分析が適応できる商材か?
• そもそも バスケット とはなにか?
• etc…
38
課題
• 改廃が激しい商品の場合(季節商材など)分
析できるころには販売がおわっている
• 併売が発生しない類の商材もある

=> 不動産とか旅行 => 比較検討は充分ある
• 商品点数が多いと(100万∼)ほとんどの商
品にルールが付かない

(売...
• アプリやデジタルコンテンツの併売に

意味はある??(ないとは言ってない)
40
• 通勤途中に iPhone で商品を選んで

家についたら iMac で購入
41
そもそも バスケットとはなにか?
• セッションが分断されていてログ上は

直接コンバージョンしたように見える
• データ収集はシステムの問題でもあるが、
取り組んでいるデータの裏にあるシステ
ムの都合( = ある条件でセッションが切
れる、とか)を把握しておく必要がある
• ひいてはモデルが考案されたときと現代
とのライフスタイルの変化も考慮に
42
評価 / 効果測定をしよう
43
• 売上をあげたい、、だけではない
44
目的 = KPI設定
• サイトの回遊率を高めたい
• リピーターを増やしたい
• ビジネス的なミニマムの KPI (クリック
率とか)の測定は設計すればそれなりに
実行できますが、その施策本当に効果あっ
たの?という観点での評価は結構難しい

(と思います
45
• A/B テスト
• Bandit Algorithms
• Contextual Bandit
46
効果測定のために
この辺を深掘りするとよいと思う
※ 解説は詳しい人に委ねたい感
• 「推薦システム Recommender System」
(神嶌 敏弘先生)http://
www.kamishima.net/archive/recsys.pdf

73頁∼「推薦システムの評価」
47
付録
48
• Apriori and Eclat algorithm in Association Rule
Mining

http://www.slideshare.net/wanaezwani/apriori-
and-eclat-algorith...
• Jupiter Notebook: http://jupyter.org/
• pandas: http://pandas.pydata.org/
• 俺妹ジェネレーター: http://hirokichi.jp/
oreimo/
50
仕...
俺のアソシエーション分析がこんなに効果がでないわけがない - 最終回 -
Upcoming SlideShare
Loading in …5
×

俺のアソシエーション分析がこんなに効果がでないわけがない - 最終回 -

4,129 views

Published on

みんなのPython勉強会 #6 で使用した資料(修正あり)です。

Published in: Engineering
  • Be the first to comment

俺のアソシエーション分析がこんなに効果がでないわけがない - 最終回 -

  1. 1. 株式会社ユーリエ 代表取締役社長 兼 CTO 池内 孝啓 みんなの Python 勉強会 #6 2015-11-09
  2. 2. 2
  3. 3. Agenda • 自己紹介 • アソシエーション分析とは • 実装編 • 俺のアソシエーション分析がこんな(略
  4. 4. 自己紹介 4
  5. 5. • 池内 孝啓 @iktakahiro • 株式会社ユーリエ 代表取締役社長 兼 CTO • PyData.Tokyo Organizer • blog: https://librabuch.jp 5 自己紹介
  6. 6. • 2011-03 ∼ 2015-08
 株式会社ALBERT • 2014-11 ∼
 PyData.Tokyo 設立 • 2015-08 ∼
 株式会社ユーリエ 設立 6 経歴(結局雑
  7. 7. 7 スーパー宣伝タイム
  8. 8. © 2015 eurie Inc. 「PyData入門」書きました
  9. 9. 新刊でました
  10. 10. の紹介 11
  11. 11. 12 Python+Dataを通じて
 世界のPyDataエクスパートと
 繋がるコミュニティーを作る
  12. 12. 13 • #6 データマイニングコンペティション
 (86/33人 • #5 自然言語処理(115/40人 • #4 データ解析アルゴリズムの高速化
 (101/36人)
  13. 13. 宣伝おわり 14
  14. 14. 15 (タイトルはアレですが)
 理論ではなくビジネス寄りの話をします
  15. 15. アソシエーション分析とは 16
  16. 16. スーパーのバスケット 人 買った物 Aさん パン、バター Bさん パン、ジュース、サラダ Cさん サラダ、玉子 Dさん バター、パン、ジュース
  17. 17. • パンとバターを一緒に買った人が2人 • パンとジュースを一緒に買った人が2人 18 併せ買いされやすい? • 商品を近くに陳列する • セット割引を行う
  18. 18. • Association rule, Frequent item-sets • 「バスケット分析」が有名 • この商品をみているひとは
 この商品もみています • 共起性を求める分析 19 アソシエーション分析
  19. 19. 共起性の指標 20
  20. 20. 21 |X Y | • 商品 X と Y をどちらも購入した人 • 商品 X を 買った人が、 X と Y を買う確率
 = Confidence
  21. 21. 22 • 併売は全体に対してどの程度発生しているか
 = Support • Lift
  22. 22. Lift 図解
  23. 23. X > Y の Confidence は 0.5
 Y は全体の 0.7
  24. 24. 25 X > Y の Lift
  25. 25. 26 • Jaccard 係数 (あとで実装をみせます) • Dice 係数 |X Y | |X [ Y | |X Y | |X| + |Y |
  26. 26. ツールでみる
 アソシエーション分析 27
  27. 27. • http://orange.biolab.si/ • Orange.associate に Apriori アルゴリズム (※1) が実装されています • 実装例としてみるのはよいがこの
 ツールは使わなくていいです 28 Python の場合 ※1 http://www-users.cs.umn.edu/ kumar/dmbook/ch6.pdf
  28. 28. • http://r-forge.r-project.org/projects/ arules • arules パッケージ に Apriori, Eclat アルゴ リズムが実装されています 29 R の場合
  29. 29. • https://spark.apache.org/docs/latest/ mllib-frequent-pattern-mining.html • MLlib に FP-growth アルゴリズム (※1) が実装 (v1.3 から) • PySpark からも利用可 30 Apache Spark の場合 ※1 http://hanj.cs.illinois.edu/pdf/sigmod00.pdf
  30. 30. • http://gallery.cortanaanalytics.com/ MachineLearningAPI/ Recommendations-2 • Frequently Bought Together (FBT) Recommendations 31 Microsoft Azure
  31. 31. 実装編 32
  32. 32. • http://dask.pydata.org/en/latest/ dataframe.html • pandas の Dataframe の(一部)互換 API を備え、裏側で並列処理をしてくれ る 33 Dask - 並列処理パッケージ
  33. 33. 34 - 最終回 -
  34. 34. Why don t you do your Best ? 35
  35. 35. 古典的手法の1つですが
 無闇に適応している例が散見される 36
  36. 36. 37 某サイトの例(現在は改善されてます) • この洗濯機を買っている人はこの
 洗濯機も買っています => ないない;
 
 てきな ※ キャプチャ自粛
  37. 37. • 分析が適応できる商材か? • そもそも バスケット とはなにか? • etc… 38 課題
  38. 38. • 改廃が激しい商品の場合(季節商材など)分 析できるころには販売がおわっている • 併売が発生しない類の商材もある
 => 不動産とか旅行 => 比較検討は充分ある • 商品点数が多いと(100万∼)ほとんどの商 品にルールが付かない
 (売れていないので当然ですが…) 39 分析が適応できる商材か?
  39. 39. • アプリやデジタルコンテンツの併売に
 意味はある??(ないとは言ってない) 40
  40. 40. • 通勤途中に iPhone で商品を選んで
 家についたら iMac で購入 41 そもそも バスケットとはなにか? • セッションが分断されていてログ上は
 直接コンバージョンしたように見える
  41. 41. • データ収集はシステムの問題でもあるが、 取り組んでいるデータの裏にあるシステ ムの都合( = ある条件でセッションが切 れる、とか)を把握しておく必要がある • ひいてはモデルが考案されたときと現代 とのライフスタイルの変化も考慮に 42
  42. 42. 評価 / 効果測定をしよう 43
  43. 43. • 売上をあげたい、、だけではない 44 目的 = KPI設定 • サイトの回遊率を高めたい • リピーターを増やしたい
  44. 44. • ビジネス的なミニマムの KPI (クリック 率とか)の測定は設計すればそれなりに 実行できますが、その施策本当に効果あっ たの?という観点での評価は結構難しい
 (と思います 45
  45. 45. • A/B テスト • Bandit Algorithms • Contextual Bandit 46 効果測定のために この辺を深掘りするとよいと思う ※ 解説は詳しい人に委ねたい感
  46. 46. • 「推薦システム Recommender System」 (神嶌 敏弘先生)http:// www.kamishima.net/archive/recsys.pdf
 73頁∼「推薦システムの評価」 47
  47. 47. 付録 48
  48. 48. • Apriori and Eclat algorithm in Association Rule Mining
 http://www.slideshare.net/wanaezwani/apriori- and-eclat-algorithm-in-association-rule-mining • Contextual Bandit Example
 https://github.com/JohnLangford/ vowpal_wabbit/wiki/Contextual-Bandit- Example 49 参考文献
  49. 49. • Jupiter Notebook: http://jupyter.org/ • pandas: http://pandas.pydata.org/ • 俺妹ジェネレーター: http://hirokichi.jp/ oreimo/ 50 仕様したツール

×