Upload
takahiro-ikeuchi
View
2.229
Download
7
Embed Size (px)
Citation preview
株式会社ユーリエ 代表取締役社長 兼 CTO
池内 孝啓
みんなの Python 勉強会 #62015-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 の場合
※1 http://www-users.cs.umn.edu/~kumar/dmbook/ch6.pdf
• 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 から)
• PySpark からも利用可
30
Apache Spark の場合
※1 http://hanj.cs.illinois.edu/pdf/sigmod00.pdf
• http://gallery.cortanaanalytics.com/MachineLearningAPI/Recommendations-2
• Frequently Bought Together (FBT) Recommendations
31
Microsoft Azure
実装編
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万~)ほとんどの商品にルールが付かない(売れていないので当然ですが…)
39
分析が適応できる商材か?
• アプリやデジタルコンテンツの併売に 意味はある??(ないとは言ってない)
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.pdf73頁~「推薦システムの評価」
47
付録
48
• Apriori and Eclat algorithm in Association Rule Mininghttp://www.slideshare.net/wanaezwani/apriori-and-eclat-algorithm-in-association-rule-mining
• Contextual Bandit Examplehttps://github.com/JohnLangford/vowpal_wabbit/wiki/Contextual-Bandit-Example
49
参考文献
• Jupiter Notebook: http://jupyter.org/
• pandas: http://pandas.pydata.org/
• 俺妹ジェネレーター: http://hirokichi.jp/oreimo/
50
仕様したツール