Frequency Pattern Mining

11,994
-1

Published on

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
11,994
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
83
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Frequency Pattern Mining

  1. 1. Frequency Pattern Mining Karubi Namuru Nov. 14, 2010
  2. 2. 自己紹介 ● Karubi Namuru, Ph.D. ● Kauli 株式会社 ● Twitter: @karubi ● Facebook: http://facebook.com/karubi ● 出身:広島 , 居住:東京 , Seongnam
  3. 3. Frequency Pattern Mining ● 頻出パターンマイニング ● データの集合から,出現頻度の高い特徴的なパ ターンを発見する ● → 頻出パターンの抽出
  4. 4. 代表的な頻出パターンマイニング ● 相関ルール抽出 ● たとえば,データベースに蓄積した大量のデータか ら,頻繁に,かつ,同時に,発生する事象を見つけ ること. ● 同時に発生する事象を,相関の強い関係としてルー トとして抽出 ● バスケット分析 – POS データや EC などで取得できるトランザクションか ら購買履歴を分析
  5. 5. バスケット分析 ● 購買履歴から「一緒に買われる商品」という特徴的な パターンを発見する ● 併売商品の発見 – デジタルカメラと液晶を保護するためのシート を購入する顧客は,メモリカードも一緒に買う ● 商品陳列レイアウト – おむつを買う顧客は同時にビールも買うなら両 方の商材を近くに陳列しておく
  6. 6. どのように分析しているのか デジタルカメラと液晶を保護するためのシートを購入する顧 客は,メモリカードも一緒に買う傾向がある {デジタルカメラ,液晶保護シート}⇒{メモリカード} { X }⇒{ Y }
  7. 7. 基本の手順 ● 全アイテムから全てのルールを洗い出す ● 全アイテムからk個を選ぶ ● この全通りについて,意味のあるルールを見つける ● このアイテムの各々が前提にくるか,結論にくるか で分け方が変わる ● 全アイテムが前提に集まる場合と,全アイテムが結 論に集まる場合はルールにならないので排除する
  8. 8. 実際の計算方法 ● m 種類のアイテムにおいて存在するルールの数 ● たとえば 10 種類の場合,ルールの総数: 57000 弱 ● 価値のあるルールの数:わずかな数 ∑ k=2 m a b2 m −2
  9. 9. アプリオリアルゴリズム ● 確信度,サポートという 2 つの指標を導入する ● それぞれ,最小確信度と,最小サポートのふたつを与える ● 確信度,サポートとも最小より大きいルールを発見する方法
  10. 10. FPGrowth アルゴリズム ● アプリオリアルゴリズムの効率を改善するアルゴリズム ● アプリオリアルゴリズムは頻出アイテムセットを抽出する必要 があったが, FPGrowth は FP-Tree という木構造にトランザ クションを圧縮して, FP-Tree から頻出アイテムセットを抽出 する. ● FP-Growth は候補パターンを生成しないため,データセット のスキャン回数を抑えることができる.つまり,アプリオリよ り高速に頻出アイテムセットを抽出することができる.
  11. 11. FPGrowth アルゴリズム サポート降順に  {4,2,1,3,5,6} {1,3,4} {2,4,5} {2,4,6} 4 2 1 3 5 6 root 4 1 3 2 5 6
  12. 12. FPGrowth アルゴリズム ● Conditional Pattern Base に分割 ● 3 を含む集合 ● 1 を含んで3を含まない集合 ● 4を含んで,1と3を含まない集合 4 2 1 3 5 6 root 4 1 3 2 5 6
  13. 13. Mahout 0.4 ● FPGrowth に関しては,ほぼ変更なし ● ソースは綺麗になってた
  14. 14. FPGrowth を動かす ● Mahout を動く環境をつくる ● Linux の場合 – Virtual Macine をつくる,たとえば CentOS – Java のインストール,たとえば OpenJDK – 環境変数を設定 – Mahout をダウンロードして,適当なディレクトリに置 く – 環境変数を設定
  15. 15. データセット ● ネット上の無料の資源を利用する ● 学術で使うもの – だいたいデータの中身がよくわからない – どういう事象を記録したかのみ説明 – 個々の値については,抽象化されてわからない... ● 見てわかりやすいデータ – MovieLens
  16. 16. ネット上の情報源 ● 公開されている明示的な情報源(一部) ● The Netflix prize datasets – Netflix :アメリカのオンライン DVD レンタルサービス – 1 億レコード以上 – 480,189 人が 17,770 タイトルについて評価 ● Grouplens Research – ミネソタ大の研究チーム, MovieLens プロジェクト – 10 万, 100 万, 1000 万レコードの 3 つのデータ – 71,567 人が 10,681 タイトルについて評価( 1000 万)
  17. 17. 大まかな流れ ● Ratings.dat から,各ユーザが高い評価を与えて いるデータのみを抜き出す ● 各ユーザの高い評価を与えた組み合わせから, 頻出するパターンを抽出する
  18. 18.
  19. 19. 処理済みデータの内容 ● データ形式 ● 1行目 ● 122,185,231,292,316,329,355,356,362,364,370,377 ,420,466,480,520,539,586,588,589,594,616 ● → 1 行目のユーザ:ユニーク ID 「1」番の人 ● → 122,185,231,.... :高い評価を与えた映画
  20. 20. 例のユーザ ● 122: Boomerang (1992), Comedy|Romance ● 185: Net, The (1995), Action|Crime|Thriller ● 231: Dumb & Dumber (1994), Comedy ● 292: Outbreak (1995), Action|Drama|Sci-Fi| Thriller ● 316: Stargate (1994), Action|Adventure|Sci-Fi ● 329: Star Trek: Generations (1994), Action| Adventure|Drama|Sci-Fi
  21. 21. Mahout FPGrowth ● コマンドラインで動かせる 1.Mahout をダウンロードしたディレクトリに移動 2.Bin ディレクトリの中に mahout バイナリがある 3.コマンドを打つ – ./mahout fpg -i /home/you/dir/data.dat -o patterns -k 50 -method mapreduce ↓ だいたいの意味 ./mahout (FPGrowth を動かす ) -i ( 解析対象ファイルの 場所 ) -o ( 出力を記録する場所) -k ( TopK ) -method ( Hadoop MapReduce で動かす)
  22. 22. 計算中の画面 ●
  23. 23. 結果を見る方法 ● ダンパーを利用する ./mahout seqdumper –seqFile patterns/fpgrowth/part-r-00000
  24. 24. 処理速度 ● Junjie Hou, Chunping Li, "A Pattern Growth Method Based on Memory Indexing for Frequent Patterns Mining," cimca, vol. 1, pp.663-668, International Conference on Computational Intelligence for Modelling, Control and Automation and International Conference on Intelligent Agents, Web Technologies and Internet Commerce Vol-1 (CIMCA-IAWTIC'05), 2005 0 10 20 30 40 50 60 70 80 90 100 0 0.5 1 1.5 2 2.5 3 Support threshold(%) Run time(sec.) D1 FP-grow th runtime D1 Apriori runtime sec
  25. 25. FPGrowth の応用分野 ● チェスの,勝つゲームもしくは負けるゲームに おいて頻出する打ち方の分析 ● ウェブページの閲覧内容の分析 ● よくクリックされるニュースの分析 ● ポータルサイトで併用されているコンテンツ ● クリックされたオンライン広告の分析 ● コンテンツ属性とオーディエンス属性 ● 交通事故の発生する状況の分析
  26. 26. ● Thank you
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×