SlideShare a Scribd company logo
1 of 87
第5回R勉強会@東京
       2010/05/22




   R言語による
 アソシエーション分析
   Association Analysis in R


- 組合せ・事象の規則を解明する -


    hamadakoichi
      濱田 晃一
AGENDA
   ◆自己紹介
   ◆アソシエーション分析とは
   ◆アソシエーションルール
   ◆R言語による実装
    ◆データ
    ◆アソシエーションルールの抽出
    ◆頻出アイテムの抽出
    ◆抽出結果のクラスター分析
   ◆最後に
AGENDA
   ◆自己紹介
   ◆アソシエーション分析とは
   ◆アソシエーションルール
   ◆R言語による実装
    ◆データ
    ◆アソシエーションルールの抽出
    ◆頻出アイテムの抽出
    ◆抽出結果のクラスター分析
   ◆最後に
AGENDA
   ◆自己紹介
   ◆アソシエーション分析とは
   ◆アソシエーションルール
   ◆R言語による実装
    ◆データ
    ◆アソシエーションルールの抽出
    ◆頻出アイテムの抽出
    ◆抽出結果のクラスター分析
   ◆最後に
hamadakoichi
   濱田晃一
http://iddy.jp/profile/hamadakoichi




                                      5
自己紹介:hamadakoichi 濱田晃一




                         6
自己紹介:hamadakoichi 濱田晃一
   データマイニング+WEB勉強会@東京 主催者です
           ぜひご参加下さい




  Google Group: http://groups.google.com/group/webmining-tokyo   7
自己紹介:hamadakoichi 濱田晃一
      第5回データマイニング+WEB勉強会@東京
          -はじめてでもわかるWEB行動マイニング-
                    発表者募集中です
 2010/06/20(日) @Nifty
 AGENDA
  -1. 「はじめてでもわかるベイジアンネットワーク」 (講師:@hamadakoichi) (60分)
  -2. 「はじめてでもわかるWEB行動マイニング」 (講師:@kur) (60分)
  -3. 「はじめてでもわかるYahoo! Web API入門」 (講師:@yokkuns) (60分)
  -4. 「通信データのデータマイニング」(講師:@lumin)(60分)
  -5. 「数式を一切使用しないSupport vector machine入門」 (講師:@super_rti)(60分)
  -6. 「はじめてでもわかる Linear Filtering Method の理論と実践
    -新たな記述形式による高速集計-」 (講師:@zanjibar)(60分)
  ※ランチLT (昼食時間に皆で食べながらLT大会) も開催予定です
                  連絡: @hamadakoichi (Twitter)                8
自己紹介:hamadakoichi 濱田晃一
      第5回データマイニング+WEB勉強会@東京
            -はじめてでもわかるWEBマイニング-
                    発表者募集中です
 2010/06/20(日) @Nifty
 AGENDA
  -1. 「はじめてでもわかるベイジアンネットワーク」 (講師:@hamadakoichi) (60分)
  -2. 「はじめてでもわかるWEB行動マイニング」 (講師:@kur) (60分)
  -3. 「はじめてでもわかるYahoo! Web API入門」 (講師:@yokkuns) (60分)
  -4. 「通信データのデータマイニング」(講師:@lumin)(60分)
  -5. 「数式を一切使用しないSupport vector machine入門」 (講師:@super_rti)(60分)
  -6. 「はじめてでもわかる Linear Filtering Method の理論と実践
    -新たな記述形式による高速集計-」 (講師:@zanjibar)(60分)
  ※ランチLT (昼食時間に皆で食べながらLT大会) も開催予定です
                  連絡: @hamadakoichi (Twitter)                9
自己紹介:hamadakoichi 濱田晃一
      第5回データマイニング+WEB勉強会@東京
            -はじめてでもわかるWEBマイニング-
                    発表者募集中です
 2010/06/20(日) @Nifty
 AGENDA
  -1. 「はじめてでもわかるベイジアンネットワーク」 (講師:@hamadakoichi) (60分)
  -2. 「はじめてでもわかるWEB行動マイニング」 (講師:@kur) (60分)
  -3. 「はじめてでもわかるYahoo! Web API入門」 (講師:@yokkuns) (60分)
  -4. 「通信データのデータマイニング」(講師:@lumin)(60分)
  -5. 「数式を一切使用しないSupport vector machine入門」 (講師:@super_rti)(60分)
  -6. 「はじめてでもわかる Linear Filtering Method の理論と実践
    -新たな記述形式による高速集計-」 (講師:@zanjibar)(60分)
  ※ランチLT (昼食時間に皆で食べながらLT大会) も開催予定です
                  連絡: @hamadakoichi (Twitter)                10
自己紹介:hamadakoichi 濱田晃一
      第5回データマイニング+WEB勉強会@東京
            -はじめてでもわかるWEBマイニング-
                    発表者募集中です
 2010/06/20(日) @Nifty
 AGENDA
  -1. 「はじめてでもわかるベイジアンネットワーク」 (講師:@hamadakoichi) (60分)
  -2. 「はじめてでもわかるWEB行動マイニング」 (講師:@kur) (60分)
  -3. 「はじめてでもわかるYahoo! Web API入門」 (講師:@yokkuns) (60分)
  -4. 「通信データのデータマイニング」(講師:@lumin)(60分)
  -5. 「数式を一切使用しないSupport vector machine入門」 (講師:@super_rti)(60分)
  -6. 「はじめてでもわかる Linear Filtering Method の理論と実践
    -新たな記述形式による高速集計-」 (講師:@zanjibar)(60分)
  ※ランチLT (昼食時間に皆で食べながらLT大会) も開催予定です
                  連絡: @hamadakoichi (Twitter)                11
自己紹介:hamadakoichi 濱田晃一
                      理論物理 博士(2004.3取得)
                        量子統計場の理論
Statistical Field Theory                        Spontaneously
                                        Time-Reversal Symmetry Breaking




                                       Anisotropic Massless Dirac Fermions




 博士論文: http://hosi.phys.s.u-tokyo.ac.jp/~koichi/PhD-thesis.pdf          12
自己紹介:hamadakoichi 濱田晃一

            文部大臣に褒められた
   元 文部大臣・法務大臣      六法全書著者・元法学政治学研究科長
      森山眞弓さん             菅野和夫さん




                                    13
自己紹介:hamadakoichi 濱田晃一

        Los Angelesでプロダンサーに褒められた




 ・HIP HOP/House ダンス歴13年
 ・ダンス開始後 1年半でL.A.でプロダンサーに褒められる

 Youtube Channel: http://www.youtube.com/hamadakoichi   14
自己紹介:hamadakoichi 濱田晃一

          毎週末3時間ダンスコーチをしています




           ■過去、東京と京都でも
            ダンス部を創設。
            コーチをしていました
                          駒場物理ダンス部   京都大学基礎物理学研究所ダンス部
                          部長兼コーチ     部長兼コーチ

  現在: 毎週末 3時間ダンスコーチ
  Youtube Channel: http://www.youtube.com/hamadakoichi   15
数理解析手法の実ビジネスへの適用
            2004年 博士号取得後
       数理解析手法を実ビジネス適用の方法論構築
主な領域
◆活動の数理モデル化・解析手法
◆活動の分析手法・再構築手法
◆活動の実行制御・実績解析システム
…
 内容抜粋
 “Decoupling Executions in Navigating Manufacturing          "Unified graph representation of processes
 Processes for Shortening Lead Time and Its Implementation   for scheduling with flexible resource
 to an Unmanned Machine Shop”,                               assignment",




                                                                                                          16
数理解析手法の実ビジネスへの適用:活動例
                                                      活動例
                  活動の統一グラフモデルを構築・解析
                        Unified graphical model of processes and resources
                                                                                                 青字:割付モデル属性
                                                                                                 [ ] : Optional
Node             ・priority(優先度)                                                       Edge
                 ・duration(予定時間)
                 [・earliest(再早開始日時) ]                                                      Process Edge
Process          [・deadline(納期) ]
                 [・or(条件集約数) ]
                                                                                             前プロセスの終了後に後プロセスが
プロセスを表す                                                                                      開始できること表す
                 ・attributes(属性)
                                                                      preemptable(中断可否),
                                                                      successive(引継ぎ可否)
                                                                                           Uses Edge
                                                                      workload(作業負荷)         Processが使用する
                        uses     uses uses         uses   uses        uses                   Assign Region を表す

Assign Region                                                                              Assigns from Edge
同一Resourceを割付け続ける                                                                            Assign Regionに
                                  assigns from assigns from                                  指定Resourceの子Resource集合の
範囲を表す
               assigns                                           assigns                     中から割付けることを示す
                                 企業01                             [process]
                                 has         has                  [startDate(開始日時)]
                                                                  [endDate(終了日時)]          Assigns Edge
                  製品01                    組織A                                                StartDateからEndDateまでの間
Resource                                                                     has             Assign RegionにResourceを
割付対象要素を表す           has has      has      has   has       has                                割付けることを表す
                                                                    ・capacity(容量)
                                                                    ・calender(カレンダー)
                AAA01    AAB02    …     山田さん 田中さん 鈴木さん              ・attributes(属性)        Has Edge
                                                                           東さん               Resourceの所有関係を表す
                                                                                                                   17
AGENDA
   ◆自己紹介
   ◆アソシエーション分析とは
   ◆アソシエーションルール
   ◆R言語による実装
    ◆データ
    ◆アソシエーションルールの抽出
    ◆頻出アイテムの抽出
    ◆抽出結果のクラスター分析
   ◆最後に
Association




              19
Association
つながり




               20
Association
つながり 関連性




               21
Association
つながり 関連性   連関




                22
Association
つながり 関連性   連関
   連想




                23
Association
つながり 関連性   連関
   連想   相関




                24
Association
つながり 関連性   連関
   連想   相関




                25
アソシエーション分析とは

                巨大なデータから
       価値ある Association Rule を抽出する分析手法



 例   データ                Association Rule
      購買データ             パンとバターを購入した取引の90%が
                        ミルクも購入している




     別名
     ◆Association Rule Extraction (アソシエーション・ルール抽出)
     ◆Association Rule Mining (アソシエーション・ルール・マイニング)
     ◆Association Rule Discovery (アソシエーション・ルール発見)
                                                     26
AGENDA
   ◆自己紹介
   ◆アソシエーション分析とは
   ◆アソシエーションルール
   ◆R言語による実装
    ◆データ
    ◆アソシエーションルールの抽出
    ◆頻出アイテムの抽出
    ◆抽出結果のクラスター分析
   ◆最後に
アソシエーションルール

         アイテム間の関連性の規則




                        28
アソシエーションルール

         アイテム間の関連性の規則
              Aが起こると、Bが起こる




                             29
アソシエーションルール

         アイテム間の関連性の規則
              Aが起こると、Bが起こる



              Association Rule



          A         ⇒            B



                                     30
アソシエーションルール

         アイテム間の関連性の規則
              Aが起こると、Bが起こる



              Association Rule

         条件部                結論部

          A         ⇒            B



                                     31
アソシエーションルール

          アイテム間の関連性の規則
              Aが起こると、Bが起こる



                Association Rule

          条件部                 結論部

            A         ⇒            B
  例   パンとバターを購入する           ミルクを購入する




                                       32
アソシエーションルールの評価指標
                   よく用いられる
         Association Rule の3つの評価指標
                      Association Rule: X⇒Y
   1. Support (支持度)




   2. Confidence (確信度)




   3. Lift (リフト)




                                              33
アソシエーションルールの評価指標
                   よく用いられる
         Association Rule の3つの評価指標
                      Association Rule: X⇒Y
   1. Support (支持度)
      条件Xと結論Yを含むデータが、全データ中に占める比率
                        条件Xと結論Yを含むデータ件数
          Support(X⇒Y)=
                          全データ件数
      ⇒全事象中でルールが現れる確率
   2. Confidence (確信度)




   3. Lift (リフト)




                                              34
アソシエーションルールの評価指標
                   よく用いられる
         Association Rule の3つの評価指標
                      Association Rule: X⇒Y
   1. Support (支持度)
      条件Xと結論Yを含むデータが、全データ中に占める比率
                        条件Xと結論Yを含むデータ件数
          Support(X⇒Y)=
                          全データ件数
      ⇒全事象中でルールが現れる確率
   2. Confidence (確信度)
      条件Xと結論Yを含むデータが、条件Xを含むデータ中に占める比率
                          条件Xと結論Yを含むデータ件数
         Confidence(X⇒Y)=
                            条件Xを含むデータ件数
      ⇒条件Xが発生したとき、結論がYになる確率
   3. Lift (リフト)




                                              35
アソシエーションルールの評価指標
                   よく用いられる
         Association Rule の3つの評価指標
                      Association Rule: X⇒Y
   1. Support (支持度)
      条件Xと結論Yを含むデータが、全データ中に占める比率
                        条件Xと結論Yを含むデータ件数
          Support(X⇒Y)=
                          全データ件数
      ⇒全事象中でルールが現れる確率
   2. Confidence (確信度)
      条件Xと結論Yを含むデータが、条件Xを含むデータ中に占める比率
                          条件Xと結論Yを含むデータ件数
         Confidence(X⇒Y)=
                            条件Xを含むデータ件数
      ⇒条件Xが発生したとき、結論がYになる確率
   3. Lift (リフト)
      条件Xと結論Yの同時発生確率と条件X・結論Yそれぞれの発生確率の積の比率
                      Confidence(X⇒Y)
           Lift(X⇒Y)=
                         Support(Y)
      ⇒2事象の独立性を判定。条件Xと結論Yが単体の発生で高確率であるルールを排除 36
アソシエーションルールの評価指標
                   よく用いられる
         Association Rule の3つの評価指標
                      Association Rule: X⇒Y
   1. Support (支持度)
      条件Xと結論Yを含むデータが、全データ中に占める比率
                        条件Xと結論Yを含むデータ件数
          Support(X⇒Y)=
                          全データ件数
      ⇒全事象中でルールが現れる確率
   2. Confidence (確信度)
      条件Xと結論Yを含むデータが、条件Xを含むデータ中に占める比率
                          条件Xと結論Yを含むデータ件数
         Confidence(X⇒Y)=
                            条件Xを含むデータ件数
      ⇒条件Xが発生したとき、結論がYになる確率
   3. Lift (リフト)
      条件Xと結論Yの同時発生確率と 条件Xと結論Yの発生確率積の比率
                       Confidence(X⇒Y)
           Lift(X⇒Y)=
                          Support(Y)
      ⇒2事象の独立性を判定。条件Xと結論Yが単体の発生で高確率であるルールを排除 37
AGENDA
   ◆自己紹介
   ◆アソシエーション分析とは
   ◆アソシエーションルール
   ◆R言語による実装
    ◆データ
    ◆アソシエーションルールの抽出
    ◆頻出アイテムの抽出
    ◆抽出結果のクラスター分析
   ◆最後に
AGENDA
   ◆自己紹介
   ◆アソシエーション分析とは
   ◆アソシエーションルール
   ◆R言語による実装
    ◆データ
    ◆アソシエーションルールの抽出
    ◆頻出アイテムの抽出
    ◆抽出結果のクラスター分析
   ◆最後に
テストデータ (package:arules)

                          Income
       サンフランシスコのショッピングモールで顧客のアンケート結果
            アンケートのYes, Noが 0, 1で記述されているデータ




                                             40
テストデータ (package:arules)

                          Income
       サンフランシスコのショッピングモールで顧客のアンケート結果
            アンケートのYes, Noが 0, 1で記述されているデータ
   data(Income) #サンフランシスコのショッピングモールの顧客のアンケート結果
   Income
   incomematrix <-as(Income,"matrix")
   incomematrix[1,] #Incomeの1データの内容表示




                                                 41
テストデータ (package:arules)

                               Income
        サンフランシスコのショッピングモールで顧客のアンケート結果
               アンケートのYes, Noが 0, 1で記述されているデータ
   data(Income) #サンフランシスコのショッピングモールの顧客のアンケート結果
   Income
   incomematrix <-as(Income,"matrix")
   incomematrix[1,] #Incomeの1データの内容表示

  実行結果
  > data(Income)                       性別                    sex=male
  Income                                                            1
  > transactions in sparse format with                     sex=female
   6876 transactions (rows) and                                     0
   50 items (columns)                  結婚暦     marital status=married
  > incomematrix <-as(Income,"matrix")                              1
  incomematrix[1,] #Incomeの1データの内容表示      marital status=cohabitation
                                                                    0
  > 収入              income=$0-$40,000
                                              marital status=divorced
                                    0
                                                                    0
                      income=$40,000+
                                               marital status=widowed
                                    1
                                                                    0
                                                marital status=single
                                       …                          …
                                                                    0
                                                                        42
テストデータ (package:arules)

                          Income
       サンフランシスコのショッピングモールで顧客のアンケート結果
           項目番号   項目
           1      収入(income)
           2      性別(sex)
           3      結婚歴(marital status)
           4      年齢(age)
           5      学歴(education)
           6      職業(occupation)
           7      ベイエリアでの居住歴(years in Bay Area)
           8      夫婦収入(dual income)
           9      家族の数(number in household)
           10     子供の数(number of children)
           11     居住家屋状況(householder status)
           12     家の形態(type of home)
           13     人種の分類(ethnic classification)
           14     自宅での使用言語(language in home)      43
テストデータ (package:arules)

                           Income
        サンフランシスコのショッピングモールで顧客のアンケート結果

   itemFrequencyPlot(Income) #相対頻度の表示


Incomeの変数の相対頻度




                                        44
AGENDA
   ◆自己紹介
   ◆アソシエーション分析とは
   ◆アソシエーションルール
   ◆R言語による実装
    ◆データ
    ◆アソシエーションルールの抽出
    ◆頻出アイテムの抽出
    ◆抽出結果のクラスター分析
   ◆最後に
アソシエーションルールの抽出(Package:arules)

                       関数 apriori
                 Association Ruleの抽出


            apriori(data, parameter, ...)
   data:         データ型;
                 transaction, itemMatrix, matrix, data.frame, …

   parameter:    リスト形式で評価指標の閾値指定
                 support(支持度), confidence(確信度),
                 maxlen(maximum size of mined frequent item set
                         頻出アイテムの最大数)

                (※デフォルト値:support=0.1, confidence=0.8, maxlen=5)



                                                                  46
アソシエーションルールの抽出(Package:arules)

                             関数 apriori
                        Association Ruleの抽出
実行手順
install.packages(“arules”, dependencies = TRUE) #arules パッケージをインストール
library(arules)

data(Income) #サンフランシスコのショッピングモールの顧客のアンケート結果
result <- apriori(Income) #Association Ruleの抽出




                                                                       47
アソシエーションルールの抽出(Package:arules)

                                関数 apriori
                          Association Ruleの抽出
実行手順
install.packages(“arules”, dependencies = TRUE) #arules パッケージをインストール
library(arules)

data(Income) #サンフランシスコのショッピングモールの顧客のアンケート結果
result <- apriori(Income) #Association Ruleの抽出

実行情報
> result <- apriori(Income) #Association Ruleの抽出
実行パラメータ
parameter specification:
 confidence minval smax arem aval originalSupport support minlen maxlen target
        0.8    0.1    1 none FALSE            TRUE    0.1      1      5 rules
   ext
 FALSE

algorithmic control:
 filter tree heap memopt load sort verbose
    0.1 TRUE TRUE FALSE TRUE     2    TRUE

apriori - find association rules with the apriori algorithm
version 4.21 (2004.05.09)        (c) 1996-2004   Christian Borgelt
set item appearances ...[0 item(s)] done [0.00s].
                                                                             48
アソシエーションルールの抽出(Package:arules)

                           関数 inspect
                       抽出ルールの呼び出し
 inspect(head(SORT(result, by = "support"),n=20)) #supportが大きい順に20個を抽出




                                                                         49
アソシエーションルールの抽出(Package:arules)

                                              関数 inspect
                                    抽出ルールの呼び出し
 inspect(head(SORT(result, by = "support"),n=20)) #supportが大きい順に20個を抽出

  実行結果
  条件部(左辺)                                     結論部(右辺)                        支持度        確信度        リフト
 >      lhs                                    rhs                             support confidence     lift
 1    {}                                =>   {language in home=english}    0.9128854 0.9128854 1.0000000
 2    {ethnic classification=white}     =>   {language in home=english}    0.6595404 0.9847991 1.0787763
 3    {number in household=1}           =>   {language in home=english}    0.6495055 0.9388270 1.0284171
 4    {education=no college graduate}   =>   {language in home=english}    0.6343805 0.8995669 0.9854106
 5    {years in bay area=10+}           =>   {language in home=english}    0.6013671 0.9300495 1.0188020
 6    {number of children=0}            =>   {language in home=english}    0.5801338 0.9328812 1.0219040
 7    {income=$0-$40,000}               =>   {language in home=english}    0.5578825 0.8962617 0.9817899
 8    {number of children=0}            =>   {number in household=1}       0.5532286 0.8896165 1.2858951
 9    {type of home=house}              =>   {language in home=english}    0.5446481 0.9129693 1.0000919
 10   {dual incomes=not married}        =>   {language in home=english}    0.5426120 0.9069033 0.9934470
 11   {age=14-34}                       =>   {language in home=english}    0.5248691 0.8966460 0.9822109
 12   {number in household=1,
       number of children=0}            => {language in home=english}      0.5213787   0.9424290 1.0323629
 13   {number of children=0,
       language in home=english}        => {number in household=1}         0.5213787   0.8987215 1.2990559
 14   {number in household=1,
       language in home=english}        => {number of children=0}          0.5213787   0.8027318 1.2908287
 15   {sex=female}                      => {language in home=english}      0.5122164   0.9246521 1.0128896
 16   {income=$0-$40,000}               => {education=no college graduate} 0.5018906   0.8063084 1.1433649
 17   {number in household=1,
       ethnic classification=white}     => {language in home=english}      0.4941827   0.9880779 1.0823680
 18   {number of children=0,
       ethnic classification=white}     => {language in home=english}      0.4474985   0.9868505 1.0810235
 19   {income=$0-$40,000,
       education=no college graduate}   => {language in home=english}      0.4454625   0.8875688 0.9722675
 20   {education=no college graduate,
       ethnic classification=white}     => {language in home=english}      0.4384817   0.9827249 1.0765041   50
アソシエーションルールの抽出(Package:arules)

                     関数 summary
                    基本統計量の算出
  summary(result) #基本統計量の算出




                                  51
アソシエーションルールの抽出(Package:arules)

                            関数 summary
                           基本統計量の算出
  summary(result) #基本統計量の算出

 実行結果
 > summary(result) #概要情報
 set of 6346 rules                                   ルール数
 rule length distribution (lhs + rhs):sizes
    1    2    3    4    5
    1   56 615 2287 3387

    Min. 1st Qu. Median     Mean 3rd Qu.     Max.
   1.000   4.000   5.000   4.419   5.000    5.000
 summary of quality measures:                        評価指標の基本統計量
     support         confidence           lift
  Min.   :0.1001   Min.   :0.8000   Min.    :0.897
  1st Qu.:0.1129   1st Qu.:0.8420   1st Qu.:1.075
  Median :0.1313   Median :0.9040   Median :1.314
  Mean   :0.1471   Mean   :0.9010   Mean    :1.387
  3rd Qu.:0.1617   3rd Qu.:0.9553   3rd Qu.:1.480
  Max.   :0.9129   Max.   :1.0000   Max.    :4.331
 mining info:
    data ntransactions support confidence            実行パラメータ情報
  Income          6876     0.1        0.8
                                                                  52
アソシエーションルールの抽出(Package:arules)

                          関数 subset
                         結果の部分抽出
  #"income=$40,000+" で"liftが2より大きい"ルールを抽出
  sub<- subset(result, subset = rhs %in% "income=$40,000+" & lift >2)
  inspect(SORT(sub)[1:3]) #Support上位 3ルールを表示




                                                                   53
アソシエーションルールの抽出(Package:arules)

                                   関数 subset
                                 結果の部分抽出
   #"income=$40,000+" で"liftが2より大きい"ルールを抽出
   sub<- subset(result, subset = rhs %in% "income=$40,000+" & lift >2)
   inspect(SORT(sub)[1:3]) #Support上位 3ルールを表示



実行結果
   条件部(左辺)                                 結論部(右辺)           支持度       確信度        リフト
>   lhs                                     rhs                 support confidence    lift
1 {occupation=professional/managerial,
   householder status=own}             => {income=$40,000+} 0.1384526 0.8074640 2.138722
2 {occupation=professional/managerial,
   householder status=own,
   language in home=english}           => {income=$40,000+} 0.1336533 0.8075571 2.138969
3 {dual incomes=yes,
   householder status=own}             => {income=$40,000+} 0.1260908 0.8156162 2.160315
>




                                                                                         54
AGENDA
   ◆自己紹介
   ◆アソシエーション分析とは
   ◆アソシエーションルール
   ◆R言語による実装
    ◆データ
    ◆アソシエーションルールの抽出
    ◆頻出アイテムの抽出
    ◆抽出結果のクラスター分析
   ◆最後に
頻出アイテムの抽出(Package:arules)

                           関数 eclat
                  頻出アイテムの組合せの抽出
                  Equivalence class transformation


                eclat(data, parameter, ...)
   data:            データ型;
                    transaction, itemMatrix, matrix, data.frame, …

   parameter:       リスト形式で評価指標の閾値指定
                    support(支持度),
                    maxlen(maximum size of mined frequent item set
                            頻出アイテムの最大数)

                 ※引数 confidence(確信度)は無し
            (※デフォルト値:support=0.1, maxlen=5)

                                                                     56
頻出アイテムの抽出(Package:arules)

                            関数 eclat
                   頻出アイテムの組合せの抽出
  result_items <- eclat(Income) #頻出アイテムの抽出




                                             57
頻出アイテムの抽出(Package:arules)

                              関数 eclat
                    頻出アイテムの組合せの抽出
  result_items <- eclat(Income) #頻出アイテムの抽出


  実行情報
 > result_items <- eclat(Income) #頻出アイテムの抽出
 実行パラメータ
 parameter specification:
  tidLists support minlen maxlen            target   ext
     FALSE     0.1      1      5 frequent itemsets FALSE

 algorithmic control:
  sparse sort verbose
       7   -2    TRUE

 eclat - find frequent item sets with the eclat algorithm
 version 2.6 (2004.08.16)         (c) 2002-2004   Christian Borgelt
 create itemset ...
 set transactions ...[50 item(s), 6876 transaction(s)] done [0.00s].
 sorting and recoding items ... [30 item(s)] done [0.01s].
 creating bit matrix ... [30 row(s), 6876 column(s)] done [0.00s].
 writing ... [4925 set(s)] done [0.02s].
 Creating S4 object ... done [0.00s].
                                                                       58
頻出アイテムの抽出(Package:arules)

                            関数 eclat
                       抽出ルールの呼び出し
 inspect(head(SORT(result, by = "support"),n=20)) #supportが大きい順に20個を抽出




                                                                         59
頻出アイテムの抽出(Package:arules)

                            関数 eclat
                       抽出ルールの呼び出し
 inspect(head(SORT(result, by = "support"),n=20)) #supportが大きい順に20個を抽出



           実行結果
              アイテムの組合せ                             支持度
              items                               support
           1 {language in home=english}         0.9128854
           2 {education=no college graduate}    0.7052065
           3 {number in household=1}            0.6918266
           4 {ethnic classification=white}      0.6697208
           5 {ethnic classification=white,
               language in home=english}        0.6595404
           6 {number in household=1,
               language in home=english}        0.6495055
           7 {years in bay area=10+}            0.6465969
           8 {education=no college graduate,
               language in home=english}        0.6343805
           9 {income=$0-$40,000}                0.6224549
           10 {number of children=0}            0.6218732
                                                                         60
頻出アイテムの抽出(Package:arules)

                     関数 summary
                    基本統計量の算出
  summary(result_items) #基本統計情報の算出




                                     61
頻出アイテムの抽出(Package:arules)

                                       関数 summary
                                      基本統計量の算出
  summary(result_items) #基本統計情報の算出

  実行結果
 set of 4925 itemsets
 most frequent items:                                           アイテム集合数
      language in home=english         number in household=1
                          2018                           1305
   ethnic classification=white education=no college graduate
                          1291                           1278
      dual incomes=not married                       (Other)
                          1194                         12405
 element (itemset/transaction) length distribution:sizes
    1    2    3    4    5
   30 293 1113 1909 1580

    Min. 1st Qu. Median     Mean 3rd Qu.    Max.
   1.000   3.000   4.000   3.958   5.000   5.000
 summary of quality measures:
     support
  Min.   :0.1001
                                                                評価指標の基本統計量
  1st Qu.:0.1136
  Median :0.1339
  Mean   :0.1549
  3rd Qu.:0.1707
  Max.   :0.9129
 includes transaction ID lists: FALSE

 mining info:
    data ntransactions support                                  実行パラメータ情報
  Income          6876     0.1
                                                                             62
頻出アイテムの抽出(Package:arules)

                                関数 subset
                               結果の部分抽出
#"income=$40,000+" でItem数が3より大きい"ルールを抽出
sitems <- subset(result_items,subset = items %in% "income=$40,000+"&size(items)>3)
inspect(SORT(sitems)[1:3]) #上位 3アイテム組合せを表示




                                                                               63
頻出アイテムの抽出(Package:arules)

                                関数 subset
                               結果の部分抽出
#"income=$40,000+" でItem数が3より大きい"ルールを抽出
sitems <- subset(result_items,subset = items %in% "income=$40,000+"&size(items)>3)
inspect(SORT(sitems)[1:3]) #上位 3アイテム組合せを表示


               実行結果
                           アイテムの組合せ                    支持度
                  items                           support
               1 {income=$40,000+,
                  type of home=house,
                  ethnic classification=white,
                  language in home=english}    0.2070971
               2 {income=$40,000+,
                  number in household=1,
                  ethnic classification=white,
                  language in home=english}    0.2063700
               3 {income=$40,000+,
                  number in household=1,
                  number of children=0,
                  language in home=english}    0.2033159>
                                                                               64
AGENDA
   ◆自己紹介
   ◆アソシエーション分析とは
   ◆アソシエーションルール
   ◆R言語による実装
    ◆データ
    ◆アソシエーションルールの抽出
    ◆頻出アイテムの抽出
    ◆抽出結果のクラスター分析
   ◆最後に
R言語による実装:ルール・アイテムのクラスター分析

                     関数 dissimilarity
       ルール・アイテム・トランザクションの距離(非類似度)を算出



             dissimilarity(data, method, ...)
   data:           データ型;
                   transaction, itemMatrix, matrix, data.frame, …

   method:         距離の算出方式を指定
                   ‘jaccard’(デフォルト), ‘matching’ ‘dice’, ‘affinity’,




                                                                      66
クラスター分析:参考資料

  第2回データマイニング+WEB勉強会@東京                            第3回データマイニング+WEB勉強会@東京

はじめてでもわかるR言語によるクラスター分析                                      クラスター分析活用編
      ー似ているものをグループ化するー
http://d.hatena.ne.jp/hamadakoichi/20100320/p1   http://d.hatena.ne.jp/hamadakoichi/20100428/p1




                                                                                           67
階層的クラスター分析
   概要5枚




             68
クラスター分析:概要 (1/5)

               クラスタリング
         データを類似度に従いグループに分けること




               クラスタリングA




               クラスタリングB
                                69
クラスター分析:概要 (2/5)

                   階層的手法
                   アルゴリズム

  ①各データが自身をクラスターと考え
   データ数のクラスターを作る

  ②クラスタ間の距離を測り
   クラスタ間の距離行列を作成する

  ③最も距離の近いクラスタを併合する




  ④クラスタ間の距離行列を作成する

  ⑤最も短い距離のクラスタを併合する

  ※ひとつのクラスタになるまで繰り返し
                            70
クラスター分析:概要 (3/5)



      クラスタリング手法                      クラスタ間距離
 群平均法                        クラスタ間の全てのデータ組合せの距離の平均値
 (Group Average method )
 単連結法                        クラスタ間の最小距離を与えるデータ対の距離
 (Single Linkage Method )
 完全連結法                       クラスタの最大距離を与えるデータ対の距離
 (Complete Linkage Method)
 ウォード法                       クラスタ内の平方和の増加分
 (Ward Method)
 重心法                         クラスタの重心間の距離の自乗
 (Centroid Method)
 メディアン法                      重心法と同じ。クラスタ併合時に、新たな重心を元
 (Median Method)             の重心の中点にとる。

                                                       71
クラスター分析:概要 (4/5)
               デンドログラム
              クラスタ構造を表す
          横棒の縦軸の目盛りがクラスタ間距離




                              クラスタ間距離




                                    72
クラスター分析:概要 (5/5)

              階層的クラスタリングの関数
               Hierarchical Clustering

  hclust(d, method=“complete”, member =NULL, ...)


  d:距離行列
  method: 階層的クラスタリング手法を指定
  members: 通常は指定しない。
           ※テンドログラムの途中から
            クラスタリングを行いたい場合に用いる




                                                    73
R言語による実装(Package:arules)

                           アソシエーションルールの
                            階層的クラスタリング
  rules <- apriori(Income) #Association Ruleの抽出
  #結果部"income=$40,000+" かつ lift>2 のルールの部分集合を抽出
  subrules <- subset(rules, subset=rhs %in% "income=$40,000+" & lift>2)
  d <- dissimilarity(subrules) #Jaccard距離算出
  plot(hclust(d,'ward')) #Ward法でのクラスタリング

          実行結果                                                Jaccard距離




                                                                          おおまかに
                                                                          4クラスター




           Class1: 1-7 葉   Class 2 : 8-13葉   Class3: 14-23葉     Class4 : 24-29葉   74
R言語による実装(Package:arules)

                           アソシエーションルールの
                            階層的クラスタリング
  rules <- apriori(Income) #Association Ruleの抽出
  #結果部"income=$40,000+" かつ lift>2 のルールの部分集合を抽出
  subrules <- subset(rules, subset=rhs %in% "income=$40,000+" & lift>2)
  d <- dissimilarity(subrules) #Jaccard距離算出
  plot(hclust(d,'ward')) #Ward法でのクラスタリング

          実行結果                                                Jaccard距離




                                                                          おおまかに
                                                                          4クラスター




           Class1: 1-7 葉   Class 2 : 8-13葉   Class3: 14-23葉     Class4 : 24-29葉   75
R言語による実装(Package:arules)
                               order
                           Leaf要素の抽出
  class1 <- hclust(d,"ward")$order[1:7] #Class1:1-7の葉を抽出
  inspect(subrules[class1]) #1-7葉のルールを出力

             実行結果
 条件部(左辺)                          結論部(右辺)              支持度       確信度       リフト

  lhs                             rhs                 support confidence     lift
 1 {dual incomes=yes,
    householder status=own,
    language in home=english}   => {income=$40,000+} 0.1207097   0.8258706 2.187476
 2 {marital status=married,
    dual incomes=yes,
    householder status=own,
    language in home=english}   => {income=$40,000+} 0.1175102   0.8304214 2.199529
 3 {dual incomes=yes,
    householder status=own,
    type of home=house}         => {income=$40,000+} 0.1121291   0.8193411 2.170181
 4 {dual incomes=yes,
    householder status=own,
    type of home=house,
    language in home=english}   => {income=$40,000+} 0.1074753   0.8303371 2.199306
 …
 ⇒「居住状況(持ち家)」 と「高収入」のAssociation Ruleクラスタ                                        76
R言語による実装(Package:arules)
                                 order
                             Leaf要素の抽出
    class2 <- hclust(d,"ward")$order[8:13] #Class2:8-13の葉を抽出
    inspect(subrules[class2]) #8-13葉のルールを出力

              実行結果
    条件部(左辺)                        結論部(右辺)               支持度       確信度      リフト

 lhs                                rhs                support confidence      lift
1 {marital status=married,
   education=college graduate,
   language in home=english}      => {income=$40,000+} 0.1121291   0.8090241 2.142854
2 {education=college graduate,
   householder status=own,
   ethnic classification=white}   => {income=$40,000+} 0.1007853   0.8086348 2.141823
3 {education=college graduate,
   householder status=own,
   ethnic classification=white,
   language in home=english}      => {income=$40,000+} 0.1002036   0.8115430 2.149526
4 {education=college graduate,
   householder status=own,
   language in home=english}      => {income=$40,000+} 0.1212914   0.8011527 2.122005
…

    ⇒「学歴(大卒)」と「高収入」のAssociation Rule クラスタ                                         77
推薦文献




       78
推薦文献


       Rによるデータサイエンス
       ~データ解析の基礎から最新手法まで ~




       Rで学ぶクラスタ解析




                             79
AGENDA
   ◆自己紹介
   ◆アソシエーション分析とは
   ◆アソシエーションルール
   ◆R言語による実装
    ◆データ
    ◆アソシエーションルールの抽出
    ◆頻出アイテムの抽出
    ◆抽出結果のクラスター分析
   ◆最後に
最後に

      蓄積されたデータを有効活用してきたい




                           81
最後に

      蓄積されたデータを有効活用してきたい




  Google Group: http://groups.google.com/group/webmining-tokyo

                                                                 82
最後に
               データマイニング+WEB勉強会
                発表者を募集しています




 連絡
  Google Group: http://groups.google.com/group/webmining-tokyo
  Twitter     : http://twitter.com/hamadakoichi
                                                                 83
ご清聴ありがとうございました




                 84
AGENDA
   ◆自己紹介
   ◆アソシエーション分析とは
   ◆アソシエーションルール
   ◆R言語による実装
    ◆データ
    ◆アソシエーションルールの抽出
    ◆頻出アイテムの抽出
    ◆抽出結果のクラスター分析
   ◆最後に
                      85
最後に
               データマイニング+WEB勉強会
                発表者を募集しています




 連絡
  Google Group: http://groups.google.com/group/webmining-tokyo
  Twitter     : http://twitter.com/hamadakoichi
                                                                 86
目的: データマイニング+WEB勉強会@東京
        データマイニングの方法論を用い
     蓄積されたデータを有効活用していく方法を学ぶ
                                               統計解析
               Web API
                                             データマイニング
             Amazon Web Service
               楽天 Web Service            対応分析        時系列分析
    Twitter API Recruit Web Service          回帰分析
                  Yahoo! Web Service                   クラスター分析
    はてな Web Service                                       判別分析
                                         主成分分析 因子分析
    (Bookmark/Graph/Keyword,…)
                                             カーネル法
       Google Data API                            樹木モデル
       (Calendar/Maps/BookSearch/
        FinancePortfolioData,…)                   ニューラルネットワーク
                                                 サポートベクターマシン
                 …        免疫型最適化       Particle Swam    …
                         Memetic           Ant Colony
                         遺伝的   熱力学的
                              シミュレーテドアニーリング
                               力学モデルによる最適化
                         タブーサーチ    グラフ
                                               …
                                    最適解探索
                                    アルゴリズム
                                                                 87

More Related Content

What's hot

効果測定入門 Rによる傾向スコア解析
効果測定入門  Rによる傾向スコア解析効果測定入門  Rによる傾向スコア解析
効果測定入門 Rによる傾向スコア解析aa_aa_aa
 
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11Koichi Hamada
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門joisino
 
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章Shuyo Nakatani
 
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京Koichi Hamada
 
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!takehikoihayashi
 
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森Masashi Komori
 
Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法Hiroki Itô
 
最適化超入門
最適化超入門最適化超入門
最適化超入門Takami Sato
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門Shuyo Nakatani
 
機械学習の理論と実践
機械学習の理論と実践機械学習の理論と実践
機械学習の理論と実践Preferred Networks
 
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心takehikoihayashi
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデルYohei Sato
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類Shintaro Fukushima
 
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?Fumihiko Takahashi
 
SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)Kazuyuki Wakasugi
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門Kawamoto_Kazuhiko
 
20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則koba cky
 
ベータ分布の謎に迫る
ベータ分布の謎に迫るベータ分布の謎に迫る
ベータ分布の謎に迫るKen'ichi Matsui
 
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo WebminingTakashi J OZAKI
 

What's hot (20)

効果測定入門 Rによる傾向スコア解析
効果測定入門  Rによる傾向スコア解析効果測定入門  Rによる傾向スコア解析
効果測定入門 Rによる傾向スコア解析
 
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
 
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
 
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!
 
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森
 
Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
 
機械学習の理論と実践
機械学習の理論と実践機械学習の理論と実践
機械学習の理論と実践
 
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデル
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
 
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
 
SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 
20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則
 
ベータ分布の謎に迫る
ベータ分布の謎に迫るベータ分布の謎に迫る
ベータ分布の謎に迫る
 
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
 

Similar to R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)

"Mahout Recommendation" - #TokyoWebmining 14th
"Mahout Recommendation" -  #TokyoWebmining 14th"Mahout Recommendation" -  #TokyoWebmining 14th
"Mahout Recommendation" - #TokyoWebmining 14thKoichi Hamada
 
Mahout Canopy Clustering - #TokyoWebmining 9
Mahout Canopy Clustering - #TokyoWebmining 9Mahout Canopy Clustering - #TokyoWebmining 9
Mahout Canopy Clustering - #TokyoWebmining 9Koichi Hamada
 
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京Koichi Hamada
 
Mahout JP - #TokyoWebmining 11th #MahoutJP
Mahout JP -  #TokyoWebmining 11th #MahoutJP Mahout JP -  #TokyoWebmining 11th #MahoutJP
Mahout JP - #TokyoWebmining 11th #MahoutJP Koichi Hamada
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京Koichi Hamada
 
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #HadoopLarge Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #HadoopKoichi Hamada
 
Introduction to Mahout Clustering - #TokyoWebmining #6
Introduction to Mahout Clustering - #TokyoWebmining #6Introduction to Mahout Clustering - #TokyoWebmining #6
Introduction to Mahout Clustering - #TokyoWebmining #6Koichi Hamada
 
ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-Koichi Hamada
 
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011 『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011 Koichi Hamada
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展Recruit Technologies
 
テストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうテストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうSayaka Nakano
 
世界最速の正規表現JITエンジンの実装
世界最速の正規表現JITエンジンの実装世界最速の正規表現JITエンジンの実装
世界最速の正規表現JITエンジンの実装Ryoma Sin'ya
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネスMie Mori
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31Sukusuku Scrum
 
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)Operation Lab, LLC.
 
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” Hajime Sasaki
 

Similar to R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京) (20)

"Mahout Recommendation" - #TokyoWebmining 14th
"Mahout Recommendation" -  #TokyoWebmining 14th"Mahout Recommendation" -  #TokyoWebmining 14th
"Mahout Recommendation" - #TokyoWebmining 14th
 
Mahout Canopy Clustering - #TokyoWebmining 9
Mahout Canopy Clustering - #TokyoWebmining 9Mahout Canopy Clustering - #TokyoWebmining 9
Mahout Canopy Clustering - #TokyoWebmining 9
 
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
 
Mahout JP - #TokyoWebmining 11th #MahoutJP
Mahout JP -  #TokyoWebmining 11th #MahoutJP Mahout JP -  #TokyoWebmining 11th #MahoutJP
Mahout JP - #TokyoWebmining 11th #MahoutJP
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
 
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #HadoopLarge Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
 
Introduction to Mahout Clustering - #TokyoWebmining #6
Introduction to Mahout Clustering - #TokyoWebmining #6Introduction to Mahout Clustering - #TokyoWebmining #6
Introduction to Mahout Clustering - #TokyoWebmining #6
 
ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-
 
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011 『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
テストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうテストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おう
 
世界最速の正規表現JITエンジンの実装
世界最速の正規表現JITエンジンの実装世界最速の正規表現JITエンジンの実装
世界最速の正規表現JITエンジンの実装
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
Hadoopカンファレンス2013
Hadoopカンファレンス2013Hadoopカンファレンス2013
Hadoopカンファレンス2013
 
Ldd13 present
Ldd13 presentLdd13 present
Ldd13 present
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31
 
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
 
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
 

More from Koichi Hamada

Anime Generation with AI
Anime Generation with AIAnime Generation with AI
Anime Generation with AIKoichi Hamada
 
Generative Adversarial Networks @ ICML 2019
Generative Adversarial Networks @ ICML 2019Generative Adversarial Networks @ ICML 2019
Generative Adversarial Networks @ ICML 2019Koichi Hamada
 
AIによるアニメ生成の挑戦
AIによるアニメ生成の挑戦AIによるアニメ生成の挑戦
AIによるアニメ生成の挑戦Koichi Hamada
 
Generative Adversarial Networks (GANs) and Disentangled Representations @ N...
Generative Adversarial Networks (GANs) and Disentangled Representations @ N...Generative Adversarial Networks (GANs) and Disentangled Representations @ N...
Generative Adversarial Networks (GANs) and Disentangled Representations @ N...Koichi Hamada
 
Generative Adversarial Networks (GAN) @ NIPS2017
Generative Adversarial Networks (GAN) @ NIPS2017Generative Adversarial Networks (GAN) @ NIPS2017
Generative Adversarial Networks (GAN) @ NIPS2017Koichi Hamada
 
DeNAのAI活用したサービス開発
DeNAのAI活用したサービス開発DeNAのAI活用したサービス開発
DeNAのAI活用したサービス開発Koichi Hamada
 
対話返答生成における個性の追加反映
対話返答生成における個性の追加反映対話返答生成における個性の追加反映
対話返答生成における個性の追加反映Koichi Hamada
 
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換Koichi Hamada
 
NIPS 2016 Overview and Deep Learning Topics
NIPS 2016 Overview and Deep Learning Topics  NIPS 2016 Overview and Deep Learning Topics
NIPS 2016 Overview and Deep Learning Topics Koichi Hamada
 
DeNAの機械学習・深層学習活用した 体験提供の挑戦
DeNAの機械学習・深層学習活用した体験提供の挑戦DeNAの機械学習・深層学習活用した体験提供の挑戦
DeNAの機械学習・深層学習活用した 体験提供の挑戦Koichi Hamada
 
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...Koichi Hamada
 
DeNAの大規模データマイニング活用したサービス開発
DeNAの大規模データマイニング活用したサービス開発DeNAの大規模データマイニング活用したサービス開発
DeNAの大規模データマイニング活用したサービス開発Koichi Hamada
 
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014Koichi Hamada
 
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- 『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- Koichi Hamada
 
複雑ネットワーク上の伝搬法則の数理
複雑ネットワーク上の伝搬法則の数理複雑ネットワーク上の伝搬法則の数理
複雑ネットワーク上の伝搬法則の数理Koichi Hamada
 
データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望
データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望 データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望
データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望 Koichi Hamada
 
データマイニングCROSS 第2部-機械学習・大規模分散処理
データマイニングCROSS 第2部-機械学習・大規模分散処理データマイニングCROSS 第2部-機械学習・大規模分散処理
データマイニングCROSS 第2部-機械学習・大規模分散処理Koichi Hamada
 
10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...
10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...
10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...Koichi Hamada
 
Apache Mahout - Random Forests - #TokyoWebmining #8
Apache Mahout - Random Forests - #TokyoWebmining #8 Apache Mahout - Random Forests - #TokyoWebmining #8
Apache Mahout - Random Forests - #TokyoWebmining #8 Koichi Hamada
 
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナーKoichi Hamada
 

More from Koichi Hamada (20)

Anime Generation with AI
Anime Generation with AIAnime Generation with AI
Anime Generation with AI
 
Generative Adversarial Networks @ ICML 2019
Generative Adversarial Networks @ ICML 2019Generative Adversarial Networks @ ICML 2019
Generative Adversarial Networks @ ICML 2019
 
AIによるアニメ生成の挑戦
AIによるアニメ生成の挑戦AIによるアニメ生成の挑戦
AIによるアニメ生成の挑戦
 
Generative Adversarial Networks (GANs) and Disentangled Representations @ N...
Generative Adversarial Networks (GANs) and Disentangled Representations @ N...Generative Adversarial Networks (GANs) and Disentangled Representations @ N...
Generative Adversarial Networks (GANs) and Disentangled Representations @ N...
 
Generative Adversarial Networks (GAN) @ NIPS2017
Generative Adversarial Networks (GAN) @ NIPS2017Generative Adversarial Networks (GAN) @ NIPS2017
Generative Adversarial Networks (GAN) @ NIPS2017
 
DeNAのAI活用したサービス開発
DeNAのAI活用したサービス開発DeNAのAI活用したサービス開発
DeNAのAI活用したサービス開発
 
対話返答生成における個性の追加反映
対話返答生成における個性の追加反映対話返答生成における個性の追加反映
対話返答生成における個性の追加反映
 
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
 
NIPS 2016 Overview and Deep Learning Topics
NIPS 2016 Overview and Deep Learning Topics  NIPS 2016 Overview and Deep Learning Topics
NIPS 2016 Overview and Deep Learning Topics
 
DeNAの機械学習・深層学習活用した 体験提供の挑戦
DeNAの機械学習・深層学習活用した体験提供の挑戦DeNAの機械学習・深層学習活用した体験提供の挑戦
DeNAの機械学習・深層学習活用した 体験提供の挑戦
 
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
 
DeNAの大規模データマイニング活用したサービス開発
DeNAの大規模データマイニング活用したサービス開発DeNAの大規模データマイニング活用したサービス開発
DeNAの大規模データマイニング活用したサービス開発
 
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
 
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- 『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
 
複雑ネットワーク上の伝搬法則の数理
複雑ネットワーク上の伝搬法則の数理複雑ネットワーク上の伝搬法則の数理
複雑ネットワーク上の伝搬法則の数理
 
データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望
データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望 データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望
データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望
 
データマイニングCROSS 第2部-機械学習・大規模分散処理
データマイニングCROSS 第2部-機械学習・大規模分散処理データマイニングCROSS 第2部-機械学習・大規模分散処理
データマイニングCROSS 第2部-機械学習・大規模分散処理
 
10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...
10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...
10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...
 
Apache Mahout - Random Forests - #TokyoWebmining #8
Apache Mahout - Random Forests - #TokyoWebmining #8 Apache Mahout - Random Forests - #TokyoWebmining #8
Apache Mahout - Random Forests - #TokyoWebmining #8
 
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)

  • 1. 第5回R勉強会@東京 2010/05/22 R言語による アソシエーション分析 Association Analysis in R - 組合せ・事象の規則を解明する - hamadakoichi 濱田 晃一
  • 2. AGENDA ◆自己紹介 ◆アソシエーション分析とは ◆アソシエーションルール ◆R言語による実装 ◆データ ◆アソシエーションルールの抽出 ◆頻出アイテムの抽出 ◆抽出結果のクラスター分析 ◆最後に
  • 3. AGENDA ◆自己紹介 ◆アソシエーション分析とは ◆アソシエーションルール ◆R言語による実装 ◆データ ◆アソシエーションルールの抽出 ◆頻出アイテムの抽出 ◆抽出結果のクラスター分析 ◆最後に
  • 4. AGENDA ◆自己紹介 ◆アソシエーション分析とは ◆アソシエーションルール ◆R言語による実装 ◆データ ◆アソシエーションルールの抽出 ◆頻出アイテムの抽出 ◆抽出結果のクラスター分析 ◆最後に
  • 5. hamadakoichi 濱田晃一 http://iddy.jp/profile/hamadakoichi 5
  • 7. 自己紹介:hamadakoichi 濱田晃一 データマイニング+WEB勉強会@東京 主催者です ぜひご参加下さい Google Group: http://groups.google.com/group/webmining-tokyo 7
  • 8. 自己紹介:hamadakoichi 濱田晃一 第5回データマイニング+WEB勉強会@東京 -はじめてでもわかるWEB行動マイニング- 発表者募集中です 2010/06/20(日) @Nifty AGENDA -1. 「はじめてでもわかるベイジアンネットワーク」 (講師:@hamadakoichi) (60分) -2. 「はじめてでもわかるWEB行動マイニング」 (講師:@kur) (60分) -3. 「はじめてでもわかるYahoo! Web API入門」 (講師:@yokkuns) (60分) -4. 「通信データのデータマイニング」(講師:@lumin)(60分) -5. 「数式を一切使用しないSupport vector machine入門」 (講師:@super_rti)(60分) -6. 「はじめてでもわかる Linear Filtering Method の理論と実践 -新たな記述形式による高速集計-」 (講師:@zanjibar)(60分) ※ランチLT (昼食時間に皆で食べながらLT大会) も開催予定です 連絡: @hamadakoichi (Twitter) 8
  • 9. 自己紹介:hamadakoichi 濱田晃一 第5回データマイニング+WEB勉強会@東京 -はじめてでもわかるWEBマイニング- 発表者募集中です 2010/06/20(日) @Nifty AGENDA -1. 「はじめてでもわかるベイジアンネットワーク」 (講師:@hamadakoichi) (60分) -2. 「はじめてでもわかるWEB行動マイニング」 (講師:@kur) (60分) -3. 「はじめてでもわかるYahoo! Web API入門」 (講師:@yokkuns) (60分) -4. 「通信データのデータマイニング」(講師:@lumin)(60分) -5. 「数式を一切使用しないSupport vector machine入門」 (講師:@super_rti)(60分) -6. 「はじめてでもわかる Linear Filtering Method の理論と実践 -新たな記述形式による高速集計-」 (講師:@zanjibar)(60分) ※ランチLT (昼食時間に皆で食べながらLT大会) も開催予定です 連絡: @hamadakoichi (Twitter) 9
  • 10. 自己紹介:hamadakoichi 濱田晃一 第5回データマイニング+WEB勉強会@東京 -はじめてでもわかるWEBマイニング- 発表者募集中です 2010/06/20(日) @Nifty AGENDA -1. 「はじめてでもわかるベイジアンネットワーク」 (講師:@hamadakoichi) (60分) -2. 「はじめてでもわかるWEB行動マイニング」 (講師:@kur) (60分) -3. 「はじめてでもわかるYahoo! Web API入門」 (講師:@yokkuns) (60分) -4. 「通信データのデータマイニング」(講師:@lumin)(60分) -5. 「数式を一切使用しないSupport vector machine入門」 (講師:@super_rti)(60分) -6. 「はじめてでもわかる Linear Filtering Method の理論と実践 -新たな記述形式による高速集計-」 (講師:@zanjibar)(60分) ※ランチLT (昼食時間に皆で食べながらLT大会) も開催予定です 連絡: @hamadakoichi (Twitter) 10
  • 11. 自己紹介:hamadakoichi 濱田晃一 第5回データマイニング+WEB勉強会@東京 -はじめてでもわかるWEBマイニング- 発表者募集中です 2010/06/20(日) @Nifty AGENDA -1. 「はじめてでもわかるベイジアンネットワーク」 (講師:@hamadakoichi) (60分) -2. 「はじめてでもわかるWEB行動マイニング」 (講師:@kur) (60分) -3. 「はじめてでもわかるYahoo! Web API入門」 (講師:@yokkuns) (60分) -4. 「通信データのデータマイニング」(講師:@lumin)(60分) -5. 「数式を一切使用しないSupport vector machine入門」 (講師:@super_rti)(60分) -6. 「はじめてでもわかる Linear Filtering Method の理論と実践 -新たな記述形式による高速集計-」 (講師:@zanjibar)(60分) ※ランチLT (昼食時間に皆で食べながらLT大会) も開催予定です 連絡: @hamadakoichi (Twitter) 11
  • 12. 自己紹介:hamadakoichi 濱田晃一 理論物理 博士(2004.3取得) 量子統計場の理論 Statistical Field Theory Spontaneously Time-Reversal Symmetry Breaking Anisotropic Massless Dirac Fermions 博士論文: http://hosi.phys.s.u-tokyo.ac.jp/~koichi/PhD-thesis.pdf 12
  • 13. 自己紹介:hamadakoichi 濱田晃一 文部大臣に褒められた 元 文部大臣・法務大臣 六法全書著者・元法学政治学研究科長 森山眞弓さん 菅野和夫さん 13
  • 14. 自己紹介:hamadakoichi 濱田晃一 Los Angelesでプロダンサーに褒められた ・HIP HOP/House ダンス歴13年 ・ダンス開始後 1年半でL.A.でプロダンサーに褒められる Youtube Channel: http://www.youtube.com/hamadakoichi 14
  • 15. 自己紹介:hamadakoichi 濱田晃一 毎週末3時間ダンスコーチをしています ■過去、東京と京都でも ダンス部を創設。 コーチをしていました 駒場物理ダンス部 京都大学基礎物理学研究所ダンス部 部長兼コーチ 部長兼コーチ 現在: 毎週末 3時間ダンスコーチ Youtube Channel: http://www.youtube.com/hamadakoichi 15
  • 16. 数理解析手法の実ビジネスへの適用 2004年 博士号取得後 数理解析手法を実ビジネス適用の方法論構築 主な領域 ◆活動の数理モデル化・解析手法 ◆活動の分析手法・再構築手法 ◆活動の実行制御・実績解析システム … 内容抜粋 “Decoupling Executions in Navigating Manufacturing "Unified graph representation of processes Processes for Shortening Lead Time and Its Implementation for scheduling with flexible resource to an Unmanned Machine Shop”, assignment", 16
  • 17. 数理解析手法の実ビジネスへの適用:活動例 活動例 活動の統一グラフモデルを構築・解析 Unified graphical model of processes and resources 青字:割付モデル属性 [ ] : Optional Node ・priority(優先度) Edge ・duration(予定時間) [・earliest(再早開始日時) ] Process Edge Process [・deadline(納期) ] [・or(条件集約数) ] 前プロセスの終了後に後プロセスが プロセスを表す 開始できること表す ・attributes(属性) preemptable(中断可否), successive(引継ぎ可否) Uses Edge workload(作業負荷) Processが使用する uses uses uses uses uses uses Assign Region を表す Assign Region Assigns from Edge 同一Resourceを割付け続ける Assign Regionに assigns from assigns from 指定Resourceの子Resource集合の 範囲を表す assigns assigns 中から割付けることを示す 企業01 [process] has has [startDate(開始日時)] [endDate(終了日時)] Assigns Edge 製品01 組織A StartDateからEndDateまでの間 Resource has Assign RegionにResourceを 割付対象要素を表す has has has has has has 割付けることを表す ・capacity(容量) ・calender(カレンダー) AAA01 AAB02 … 山田さん 田中さん 鈴木さん ・attributes(属性) Has Edge 東さん Resourceの所有関係を表す 17
  • 18. AGENDA ◆自己紹介 ◆アソシエーション分析とは ◆アソシエーションルール ◆R言語による実装 ◆データ ◆アソシエーションルールの抽出 ◆頻出アイテムの抽出 ◆抽出結果のクラスター分析 ◆最後に
  • 24. Association つながり 関連性 連関 連想 相関 24
  • 25. Association つながり 関連性 連関 連想 相関 25
  • 26. アソシエーション分析とは 巨大なデータから 価値ある Association Rule を抽出する分析手法 例 データ Association Rule 購買データ パンとバターを購入した取引の90%が ミルクも購入している 別名 ◆Association Rule Extraction (アソシエーション・ルール抽出) ◆Association Rule Mining (アソシエーション・ルール・マイニング) ◆Association Rule Discovery (アソシエーション・ルール発見) 26
  • 27. AGENDA ◆自己紹介 ◆アソシエーション分析とは ◆アソシエーションルール ◆R言語による実装 ◆データ ◆アソシエーションルールの抽出 ◆頻出アイテムの抽出 ◆抽出結果のクラスター分析 ◆最後に
  • 28. アソシエーションルール アイテム間の関連性の規則 28
  • 29. アソシエーションルール アイテム間の関連性の規則 Aが起こると、Bが起こる 29
  • 30. アソシエーションルール アイテム間の関連性の規則 Aが起こると、Bが起こる Association Rule A ⇒ B 30
  • 31. アソシエーションルール アイテム間の関連性の規則 Aが起こると、Bが起こる Association Rule 条件部 結論部 A ⇒ B 31
  • 32. アソシエーションルール アイテム間の関連性の規則 Aが起こると、Bが起こる Association Rule 条件部 結論部 A ⇒ B 例 パンとバターを購入する ミルクを購入する 32
  • 33. アソシエーションルールの評価指標 よく用いられる Association Rule の3つの評価指標 Association Rule: X⇒Y 1. Support (支持度) 2. Confidence (確信度) 3. Lift (リフト) 33
  • 34. アソシエーションルールの評価指標 よく用いられる Association Rule の3つの評価指標 Association Rule: X⇒Y 1. Support (支持度) 条件Xと結論Yを含むデータが、全データ中に占める比率 条件Xと結論Yを含むデータ件数 Support(X⇒Y)= 全データ件数 ⇒全事象中でルールが現れる確率 2. Confidence (確信度) 3. Lift (リフト) 34
  • 35. アソシエーションルールの評価指標 よく用いられる Association Rule の3つの評価指標 Association Rule: X⇒Y 1. Support (支持度) 条件Xと結論Yを含むデータが、全データ中に占める比率 条件Xと結論Yを含むデータ件数 Support(X⇒Y)= 全データ件数 ⇒全事象中でルールが現れる確率 2. Confidence (確信度) 条件Xと結論Yを含むデータが、条件Xを含むデータ中に占める比率 条件Xと結論Yを含むデータ件数 Confidence(X⇒Y)= 条件Xを含むデータ件数 ⇒条件Xが発生したとき、結論がYになる確率 3. Lift (リフト) 35
  • 36. アソシエーションルールの評価指標 よく用いられる Association Rule の3つの評価指標 Association Rule: X⇒Y 1. Support (支持度) 条件Xと結論Yを含むデータが、全データ中に占める比率 条件Xと結論Yを含むデータ件数 Support(X⇒Y)= 全データ件数 ⇒全事象中でルールが現れる確率 2. Confidence (確信度) 条件Xと結論Yを含むデータが、条件Xを含むデータ中に占める比率 条件Xと結論Yを含むデータ件数 Confidence(X⇒Y)= 条件Xを含むデータ件数 ⇒条件Xが発生したとき、結論がYになる確率 3. Lift (リフト) 条件Xと結論Yの同時発生確率と条件X・結論Yそれぞれの発生確率の積の比率 Confidence(X⇒Y) Lift(X⇒Y)= Support(Y) ⇒2事象の独立性を判定。条件Xと結論Yが単体の発生で高確率であるルールを排除 36
  • 37. アソシエーションルールの評価指標 よく用いられる Association Rule の3つの評価指標 Association Rule: X⇒Y 1. Support (支持度) 条件Xと結論Yを含むデータが、全データ中に占める比率 条件Xと結論Yを含むデータ件数 Support(X⇒Y)= 全データ件数 ⇒全事象中でルールが現れる確率 2. Confidence (確信度) 条件Xと結論Yを含むデータが、条件Xを含むデータ中に占める比率 条件Xと結論Yを含むデータ件数 Confidence(X⇒Y)= 条件Xを含むデータ件数 ⇒条件Xが発生したとき、結論がYになる確率 3. Lift (リフト) 条件Xと結論Yの同時発生確率と 条件Xと結論Yの発生確率積の比率 Confidence(X⇒Y) Lift(X⇒Y)= Support(Y) ⇒2事象の独立性を判定。条件Xと結論Yが単体の発生で高確率であるルールを排除 37
  • 38. AGENDA ◆自己紹介 ◆アソシエーション分析とは ◆アソシエーションルール ◆R言語による実装 ◆データ ◆アソシエーションルールの抽出 ◆頻出アイテムの抽出 ◆抽出結果のクラスター分析 ◆最後に
  • 39. AGENDA ◆自己紹介 ◆アソシエーション分析とは ◆アソシエーションルール ◆R言語による実装 ◆データ ◆アソシエーションルールの抽出 ◆頻出アイテムの抽出 ◆抽出結果のクラスター分析 ◆最後に
  • 40. テストデータ (package:arules) Income サンフランシスコのショッピングモールで顧客のアンケート結果 アンケートのYes, Noが 0, 1で記述されているデータ 40
  • 41. テストデータ (package:arules) Income サンフランシスコのショッピングモールで顧客のアンケート結果 アンケートのYes, Noが 0, 1で記述されているデータ data(Income) #サンフランシスコのショッピングモールの顧客のアンケート結果 Income incomematrix <-as(Income,"matrix") incomematrix[1,] #Incomeの1データの内容表示 41
  • 42. テストデータ (package:arules) Income サンフランシスコのショッピングモールで顧客のアンケート結果 アンケートのYes, Noが 0, 1で記述されているデータ data(Income) #サンフランシスコのショッピングモールの顧客のアンケート結果 Income incomematrix <-as(Income,"matrix") incomematrix[1,] #Incomeの1データの内容表示 実行結果 > data(Income) 性別 sex=male Income 1 > transactions in sparse format with sex=female 6876 transactions (rows) and 0 50 items (columns) 結婚暦 marital status=married > incomematrix <-as(Income,"matrix") 1 incomematrix[1,] #Incomeの1データの内容表示 marital status=cohabitation 0 > 収入 income=$0-$40,000 marital status=divorced 0 0 income=$40,000+ marital status=widowed 1 0 marital status=single … … 0 42
  • 43. テストデータ (package:arules) Income サンフランシスコのショッピングモールで顧客のアンケート結果 項目番号 項目 1 収入(income) 2 性別(sex) 3 結婚歴(marital status) 4 年齢(age) 5 学歴(education) 6 職業(occupation) 7 ベイエリアでの居住歴(years in Bay Area) 8 夫婦収入(dual income) 9 家族の数(number in household) 10 子供の数(number of children) 11 居住家屋状況(householder status) 12 家の形態(type of home) 13 人種の分類(ethnic classification) 14 自宅での使用言語(language in home) 43
  • 44. テストデータ (package:arules) Income サンフランシスコのショッピングモールで顧客のアンケート結果 itemFrequencyPlot(Income) #相対頻度の表示 Incomeの変数の相対頻度 44
  • 45. AGENDA ◆自己紹介 ◆アソシエーション分析とは ◆アソシエーションルール ◆R言語による実装 ◆データ ◆アソシエーションルールの抽出 ◆頻出アイテムの抽出 ◆抽出結果のクラスター分析 ◆最後に
  • 46. アソシエーションルールの抽出(Package:arules) 関数 apriori Association Ruleの抽出 apriori(data, parameter, ...) data: データ型; transaction, itemMatrix, matrix, data.frame, … parameter: リスト形式で評価指標の閾値指定 support(支持度), confidence(確信度), maxlen(maximum size of mined frequent item set 頻出アイテムの最大数) (※デフォルト値:support=0.1, confidence=0.8, maxlen=5) 46
  • 47. アソシエーションルールの抽出(Package:arules) 関数 apriori Association Ruleの抽出 実行手順 install.packages(“arules”, dependencies = TRUE) #arules パッケージをインストール library(arules) data(Income) #サンフランシスコのショッピングモールの顧客のアンケート結果 result <- apriori(Income) #Association Ruleの抽出 47
  • 48. アソシエーションルールの抽出(Package:arules) 関数 apriori Association Ruleの抽出 実行手順 install.packages(“arules”, dependencies = TRUE) #arules パッケージをインストール library(arules) data(Income) #サンフランシスコのショッピングモールの顧客のアンケート結果 result <- apriori(Income) #Association Ruleの抽出 実行情報 > result <- apriori(Income) #Association Ruleの抽出 実行パラメータ parameter specification: confidence minval smax arem aval originalSupport support minlen maxlen target 0.8 0.1 1 none FALSE TRUE 0.1 1 5 rules ext FALSE algorithmic control: filter tree heap memopt load sort verbose 0.1 TRUE TRUE FALSE TRUE 2 TRUE apriori - find association rules with the apriori algorithm version 4.21 (2004.05.09) (c) 1996-2004 Christian Borgelt set item appearances ...[0 item(s)] done [0.00s]. 48
  • 49. アソシエーションルールの抽出(Package:arules) 関数 inspect 抽出ルールの呼び出し inspect(head(SORT(result, by = "support"),n=20)) #supportが大きい順に20個を抽出 49
  • 50. アソシエーションルールの抽出(Package:arules) 関数 inspect 抽出ルールの呼び出し inspect(head(SORT(result, by = "support"),n=20)) #supportが大きい順に20個を抽出 実行結果 条件部(左辺) 結論部(右辺) 支持度 確信度 リフト > lhs rhs support confidence lift 1 {} => {language in home=english} 0.9128854 0.9128854 1.0000000 2 {ethnic classification=white} => {language in home=english} 0.6595404 0.9847991 1.0787763 3 {number in household=1} => {language in home=english} 0.6495055 0.9388270 1.0284171 4 {education=no college graduate} => {language in home=english} 0.6343805 0.8995669 0.9854106 5 {years in bay area=10+} => {language in home=english} 0.6013671 0.9300495 1.0188020 6 {number of children=0} => {language in home=english} 0.5801338 0.9328812 1.0219040 7 {income=$0-$40,000} => {language in home=english} 0.5578825 0.8962617 0.9817899 8 {number of children=0} => {number in household=1} 0.5532286 0.8896165 1.2858951 9 {type of home=house} => {language in home=english} 0.5446481 0.9129693 1.0000919 10 {dual incomes=not married} => {language in home=english} 0.5426120 0.9069033 0.9934470 11 {age=14-34} => {language in home=english} 0.5248691 0.8966460 0.9822109 12 {number in household=1, number of children=0} => {language in home=english} 0.5213787 0.9424290 1.0323629 13 {number of children=0, language in home=english} => {number in household=1} 0.5213787 0.8987215 1.2990559 14 {number in household=1, language in home=english} => {number of children=0} 0.5213787 0.8027318 1.2908287 15 {sex=female} => {language in home=english} 0.5122164 0.9246521 1.0128896 16 {income=$0-$40,000} => {education=no college graduate} 0.5018906 0.8063084 1.1433649 17 {number in household=1, ethnic classification=white} => {language in home=english} 0.4941827 0.9880779 1.0823680 18 {number of children=0, ethnic classification=white} => {language in home=english} 0.4474985 0.9868505 1.0810235 19 {income=$0-$40,000, education=no college graduate} => {language in home=english} 0.4454625 0.8875688 0.9722675 20 {education=no college graduate, ethnic classification=white} => {language in home=english} 0.4384817 0.9827249 1.0765041 50
  • 51. アソシエーションルールの抽出(Package:arules) 関数 summary 基本統計量の算出 summary(result) #基本統計量の算出 51
  • 52. アソシエーションルールの抽出(Package:arules) 関数 summary 基本統計量の算出 summary(result) #基本統計量の算出 実行結果 > summary(result) #概要情報 set of 6346 rules ルール数 rule length distribution (lhs + rhs):sizes 1 2 3 4 5 1 56 615 2287 3387 Min. 1st Qu. Median Mean 3rd Qu. Max. 1.000 4.000 5.000 4.419 5.000 5.000 summary of quality measures: 評価指標の基本統計量 support confidence lift Min. :0.1001 Min. :0.8000 Min. :0.897 1st Qu.:0.1129 1st Qu.:0.8420 1st Qu.:1.075 Median :0.1313 Median :0.9040 Median :1.314 Mean :0.1471 Mean :0.9010 Mean :1.387 3rd Qu.:0.1617 3rd Qu.:0.9553 3rd Qu.:1.480 Max. :0.9129 Max. :1.0000 Max. :4.331 mining info: data ntransactions support confidence 実行パラメータ情報 Income 6876 0.1 0.8 52
  • 53. アソシエーションルールの抽出(Package:arules) 関数 subset 結果の部分抽出 #"income=$40,000+" で"liftが2より大きい"ルールを抽出 sub<- subset(result, subset = rhs %in% "income=$40,000+" & lift >2) inspect(SORT(sub)[1:3]) #Support上位 3ルールを表示 53
  • 54. アソシエーションルールの抽出(Package:arules) 関数 subset 結果の部分抽出 #"income=$40,000+" で"liftが2より大きい"ルールを抽出 sub<- subset(result, subset = rhs %in% "income=$40,000+" & lift >2) inspect(SORT(sub)[1:3]) #Support上位 3ルールを表示 実行結果 条件部(左辺) 結論部(右辺) 支持度 確信度 リフト > lhs rhs support confidence lift 1 {occupation=professional/managerial, householder status=own} => {income=$40,000+} 0.1384526 0.8074640 2.138722 2 {occupation=professional/managerial, householder status=own, language in home=english} => {income=$40,000+} 0.1336533 0.8075571 2.138969 3 {dual incomes=yes, householder status=own} => {income=$40,000+} 0.1260908 0.8156162 2.160315 > 54
  • 55. AGENDA ◆自己紹介 ◆アソシエーション分析とは ◆アソシエーションルール ◆R言語による実装 ◆データ ◆アソシエーションルールの抽出 ◆頻出アイテムの抽出 ◆抽出結果のクラスター分析 ◆最後に
  • 56. 頻出アイテムの抽出(Package:arules) 関数 eclat 頻出アイテムの組合せの抽出 Equivalence class transformation eclat(data, parameter, ...) data: データ型; transaction, itemMatrix, matrix, data.frame, … parameter: リスト形式で評価指標の閾値指定 support(支持度), maxlen(maximum size of mined frequent item set 頻出アイテムの最大数) ※引数 confidence(確信度)は無し (※デフォルト値:support=0.1, maxlen=5) 56
  • 57. 頻出アイテムの抽出(Package:arules) 関数 eclat 頻出アイテムの組合せの抽出 result_items <- eclat(Income) #頻出アイテムの抽出 57
  • 58. 頻出アイテムの抽出(Package:arules) 関数 eclat 頻出アイテムの組合せの抽出 result_items <- eclat(Income) #頻出アイテムの抽出 実行情報 > result_items <- eclat(Income) #頻出アイテムの抽出 実行パラメータ parameter specification: tidLists support minlen maxlen target ext FALSE 0.1 1 5 frequent itemsets FALSE algorithmic control: sparse sort verbose 7 -2 TRUE eclat - find frequent item sets with the eclat algorithm version 2.6 (2004.08.16) (c) 2002-2004 Christian Borgelt create itemset ... set transactions ...[50 item(s), 6876 transaction(s)] done [0.00s]. sorting and recoding items ... [30 item(s)] done [0.01s]. creating bit matrix ... [30 row(s), 6876 column(s)] done [0.00s]. writing ... [4925 set(s)] done [0.02s]. Creating S4 object ... done [0.00s]. 58
  • 59. 頻出アイテムの抽出(Package:arules) 関数 eclat 抽出ルールの呼び出し inspect(head(SORT(result, by = "support"),n=20)) #supportが大きい順に20個を抽出 59
  • 60. 頻出アイテムの抽出(Package:arules) 関数 eclat 抽出ルールの呼び出し inspect(head(SORT(result, by = "support"),n=20)) #supportが大きい順に20個を抽出 実行結果 アイテムの組合せ 支持度 items support 1 {language in home=english} 0.9128854 2 {education=no college graduate} 0.7052065 3 {number in household=1} 0.6918266 4 {ethnic classification=white} 0.6697208 5 {ethnic classification=white, language in home=english} 0.6595404 6 {number in household=1, language in home=english} 0.6495055 7 {years in bay area=10+} 0.6465969 8 {education=no college graduate, language in home=english} 0.6343805 9 {income=$0-$40,000} 0.6224549 10 {number of children=0} 0.6218732 60
  • 61. 頻出アイテムの抽出(Package:arules) 関数 summary 基本統計量の算出 summary(result_items) #基本統計情報の算出 61
  • 62. 頻出アイテムの抽出(Package:arules) 関数 summary 基本統計量の算出 summary(result_items) #基本統計情報の算出 実行結果 set of 4925 itemsets most frequent items: アイテム集合数 language in home=english number in household=1 2018 1305 ethnic classification=white education=no college graduate 1291 1278 dual incomes=not married (Other) 1194 12405 element (itemset/transaction) length distribution:sizes 1 2 3 4 5 30 293 1113 1909 1580 Min. 1st Qu. Median Mean 3rd Qu. Max. 1.000 3.000 4.000 3.958 5.000 5.000 summary of quality measures: support Min. :0.1001 評価指標の基本統計量 1st Qu.:0.1136 Median :0.1339 Mean :0.1549 3rd Qu.:0.1707 Max. :0.9129 includes transaction ID lists: FALSE mining info: data ntransactions support 実行パラメータ情報 Income 6876 0.1 62
  • 63. 頻出アイテムの抽出(Package:arules) 関数 subset 結果の部分抽出 #"income=$40,000+" でItem数が3より大きい"ルールを抽出 sitems <- subset(result_items,subset = items %in% "income=$40,000+"&size(items)>3) inspect(SORT(sitems)[1:3]) #上位 3アイテム組合せを表示 63
  • 64. 頻出アイテムの抽出(Package:arules) 関数 subset 結果の部分抽出 #"income=$40,000+" でItem数が3より大きい"ルールを抽出 sitems <- subset(result_items,subset = items %in% "income=$40,000+"&size(items)>3) inspect(SORT(sitems)[1:3]) #上位 3アイテム組合せを表示 実行結果 アイテムの組合せ 支持度 items support 1 {income=$40,000+, type of home=house, ethnic classification=white, language in home=english} 0.2070971 2 {income=$40,000+, number in household=1, ethnic classification=white, language in home=english} 0.2063700 3 {income=$40,000+, number in household=1, number of children=0, language in home=english} 0.2033159> 64
  • 65. AGENDA ◆自己紹介 ◆アソシエーション分析とは ◆アソシエーションルール ◆R言語による実装 ◆データ ◆アソシエーションルールの抽出 ◆頻出アイテムの抽出 ◆抽出結果のクラスター分析 ◆最後に
  • 66. R言語による実装:ルール・アイテムのクラスター分析 関数 dissimilarity ルール・アイテム・トランザクションの距離(非類似度)を算出 dissimilarity(data, method, ...) data: データ型; transaction, itemMatrix, matrix, data.frame, … method: 距離の算出方式を指定 ‘jaccard’(デフォルト), ‘matching’ ‘dice’, ‘affinity’, 66
  • 67. クラスター分析:参考資料 第2回データマイニング+WEB勉強会@東京 第3回データマイニング+WEB勉強会@東京 はじめてでもわかるR言語によるクラスター分析 クラスター分析活用編 ー似ているものをグループ化するー http://d.hatena.ne.jp/hamadakoichi/20100320/p1 http://d.hatena.ne.jp/hamadakoichi/20100428/p1 67
  • 69. クラスター分析:概要 (1/5) クラスタリング データを類似度に従いグループに分けること クラスタリングA クラスタリングB 69
  • 70. クラスター分析:概要 (2/5) 階層的手法 アルゴリズム ①各データが自身をクラスターと考え データ数のクラスターを作る ②クラスタ間の距離を測り クラスタ間の距離行列を作成する ③最も距離の近いクラスタを併合する ④クラスタ間の距離行列を作成する ⑤最も短い距離のクラスタを併合する ※ひとつのクラスタになるまで繰り返し 70
  • 71. クラスター分析:概要 (3/5) クラスタリング手法 クラスタ間距離 群平均法 クラスタ間の全てのデータ組合せの距離の平均値 (Group Average method ) 単連結法 クラスタ間の最小距離を与えるデータ対の距離 (Single Linkage Method ) 完全連結法 クラスタの最大距離を与えるデータ対の距離 (Complete Linkage Method) ウォード法 クラスタ内の平方和の増加分 (Ward Method) 重心法 クラスタの重心間の距離の自乗 (Centroid Method) メディアン法 重心法と同じ。クラスタ併合時に、新たな重心を元 (Median Method) の重心の中点にとる。 71
  • 72. クラスター分析:概要 (4/5) デンドログラム クラスタ構造を表す 横棒の縦軸の目盛りがクラスタ間距離 クラスタ間距離 72
  • 73. クラスター分析:概要 (5/5) 階層的クラスタリングの関数 Hierarchical Clustering hclust(d, method=“complete”, member =NULL, ...) d:距離行列 method: 階層的クラスタリング手法を指定 members: 通常は指定しない。 ※テンドログラムの途中から クラスタリングを行いたい場合に用いる 73
  • 74. R言語による実装(Package:arules) アソシエーションルールの 階層的クラスタリング rules <- apriori(Income) #Association Ruleの抽出 #結果部"income=$40,000+" かつ lift>2 のルールの部分集合を抽出 subrules <- subset(rules, subset=rhs %in% "income=$40,000+" & lift>2) d <- dissimilarity(subrules) #Jaccard距離算出 plot(hclust(d,'ward')) #Ward法でのクラスタリング 実行結果 Jaccard距離 おおまかに 4クラスター Class1: 1-7 葉 Class 2 : 8-13葉 Class3: 14-23葉 Class4 : 24-29葉 74
  • 75. R言語による実装(Package:arules) アソシエーションルールの 階層的クラスタリング rules <- apriori(Income) #Association Ruleの抽出 #結果部"income=$40,000+" かつ lift>2 のルールの部分集合を抽出 subrules <- subset(rules, subset=rhs %in% "income=$40,000+" & lift>2) d <- dissimilarity(subrules) #Jaccard距離算出 plot(hclust(d,'ward')) #Ward法でのクラスタリング 実行結果 Jaccard距離 おおまかに 4クラスター Class1: 1-7 葉 Class 2 : 8-13葉 Class3: 14-23葉 Class4 : 24-29葉 75
  • 76. R言語による実装(Package:arules) order Leaf要素の抽出 class1 <- hclust(d,"ward")$order[1:7] #Class1:1-7の葉を抽出 inspect(subrules[class1]) #1-7葉のルールを出力 実行結果 条件部(左辺) 結論部(右辺) 支持度 確信度 リフト lhs rhs support confidence lift 1 {dual incomes=yes, householder status=own, language in home=english} => {income=$40,000+} 0.1207097 0.8258706 2.187476 2 {marital status=married, dual incomes=yes, householder status=own, language in home=english} => {income=$40,000+} 0.1175102 0.8304214 2.199529 3 {dual incomes=yes, householder status=own, type of home=house} => {income=$40,000+} 0.1121291 0.8193411 2.170181 4 {dual incomes=yes, householder status=own, type of home=house, language in home=english} => {income=$40,000+} 0.1074753 0.8303371 2.199306 … ⇒「居住状況(持ち家)」 と「高収入」のAssociation Ruleクラスタ 76
  • 77. R言語による実装(Package:arules) order Leaf要素の抽出 class2 <- hclust(d,"ward")$order[8:13] #Class2:8-13の葉を抽出 inspect(subrules[class2]) #8-13葉のルールを出力 実行結果 条件部(左辺) 結論部(右辺) 支持度 確信度 リフト lhs rhs support confidence lift 1 {marital status=married, education=college graduate, language in home=english} => {income=$40,000+} 0.1121291 0.8090241 2.142854 2 {education=college graduate, householder status=own, ethnic classification=white} => {income=$40,000+} 0.1007853 0.8086348 2.141823 3 {education=college graduate, householder status=own, ethnic classification=white, language in home=english} => {income=$40,000+} 0.1002036 0.8115430 2.149526 4 {education=college graduate, householder status=own, language in home=english} => {income=$40,000+} 0.1212914 0.8011527 2.122005 … ⇒「学歴(大卒)」と「高収入」のAssociation Rule クラスタ 77
  • 79. 推薦文献 Rによるデータサイエンス ~データ解析の基礎から最新手法まで ~ Rで学ぶクラスタ解析 79
  • 80. AGENDA ◆自己紹介 ◆アソシエーション分析とは ◆アソシエーションルール ◆R言語による実装 ◆データ ◆アソシエーションルールの抽出 ◆頻出アイテムの抽出 ◆抽出結果のクラスター分析 ◆最後に
  • 81. 最後に 蓄積されたデータを有効活用してきたい 81
  • 82. 最後に 蓄積されたデータを有効活用してきたい Google Group: http://groups.google.com/group/webmining-tokyo 82
  • 83. 最後に データマイニング+WEB勉強会 発表者を募集しています 連絡 Google Group: http://groups.google.com/group/webmining-tokyo Twitter : http://twitter.com/hamadakoichi 83
  • 85. AGENDA ◆自己紹介 ◆アソシエーション分析とは ◆アソシエーションルール ◆R言語による実装 ◆データ ◆アソシエーションルールの抽出 ◆頻出アイテムの抽出 ◆抽出結果のクラスター分析 ◆最後に 85
  • 86. 最後に データマイニング+WEB勉強会 発表者を募集しています 連絡 Google Group: http://groups.google.com/group/webmining-tokyo Twitter : http://twitter.com/hamadakoichi 86
  • 87. 目的: データマイニング+WEB勉強会@東京 データマイニングの方法論を用い 蓄積されたデータを有効活用していく方法を学ぶ 統計解析 Web API データマイニング Amazon Web Service 楽天 Web Service 対応分析 時系列分析 Twitter API Recruit Web Service 回帰分析 Yahoo! Web Service クラスター分析 はてな Web Service 判別分析 主成分分析 因子分析 (Bookmark/Graph/Keyword,…) カーネル法 Google Data API 樹木モデル (Calendar/Maps/BookSearch/ FinancePortfolioData,…) ニューラルネットワーク サポートベクターマシン … 免疫型最適化 Particle Swam … Memetic Ant Colony 遺伝的 熱力学的 シミュレーテドアニーリング 力学モデルによる最適化 タブーサーチ グラフ … 最適解探索 アルゴリズム 87