SlideShare ist ein Scribd-Unternehmen logo
1 von 79
第6回データマイニング+WEB勉強会@東京
        2010/08/22




Mahout クラスタリング入門
 Introduction to Mahout Clustering




      hamadakoichi
        濱田 晃一
AGENDA
   ◆自己紹介
   ◆Mahoutとは
   ◆Clustering
   ◆Mahout Clustering
   ◆Mahout k-means
   ◆参考資料
   ◆最後に
AGENDA
   ◆自己紹介
   ◆Mahoutとは
   ◆Clustering
   ◆Mahout Clustering
   ◆Mahout k-means
   ◆参考資料
   ◆最後に
hamadakoichi
   濱田晃一
http://iddy.jp/profile/hamadakoichi




                                      4
自己紹介:hamadakoichi 濱田晃一




                         5
自己紹介:hamadakoichi 濱田晃一




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

              主催者です



                         6
自己紹介: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          7
自己紹介:hamadakoichi 濱田晃一

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




                                    8
自己紹介:hamadakoichi 濱田晃一

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




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

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

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




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

  現在: 毎週末 3時間ダンスコーチ
  Youtube Channel: http://www.youtube.com/hamadakoichi   10
数理解析手法の実ビジネスへの適用
            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",




                                                                                                          11
数理解析手法の実ビジネスへの適用:活動例
                         活動例
                  活動の統一グラフモデルを構築・解析
                        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の所有関係を表す
                                                                                                                   12
数理解析手法の実ビジネスへの適用:活動例
                                    一品一様の業務プロセスの
                                  動的なプロセス制御数理体系を構築
  全体生産リードタイム中央値を                                                                                                                       1/2.7に短縮
       設計開始~頭だし出荷リードタイム
                                      設計開始~頭だし出荷CT対週集計開始日時の箱ひげ図                                                                        体系適用
                         500
                                                                                                                                                                   適用後
   設計開始~頭だし出荷CT




                         400

                                                                                            360.4h(15.0日)
                                                                                                                                                                                          1/2.7
                         300



                         200



                         100
                                       0          0          0          0          0          0          0          0          0          0          0
                                                                                                                                                                141.6h(5.9日)
                                                                                                                                                                0          0          0
                                  9: 0       9 :0       9 :0       9 :0       9: 0       9 :0       9 :0       9 :0       9: 0       9 :0       9 :0       9 :0       9: 0       9 :0
                                0          7          4          1          8          5          1          8          5          2          9          6          3          0
                             /2         /2         /0         /1         /1         /2         /0         /0         /1         /2         /2         /0         /1         /2
                          09        09         10          10        10         10         11          11         11        11         11          12        12         12
                       4/        4/         4/         4/         4/         4/         4/         4/         4/         4/         4/         4/         4/         4/
                  2 00      2 00       2 00       2 00       2 00       2 00       2 00       2 00       2 00       2 00       2 00       2 00       2 00       2 00
                                                                                              週集計開始日時




                                                                                                                                                                                              13
数理解析手法の実ビジネスへの適用:活動例
                                    ビジネスとともに
                                    学術分野でも貢献
変動性から生じる動的な課題
     ・リソースの競合 ・滞留 ・納期遅延                             …

一品一様な業務プロセスを含む
統計解析・制御数理モデル
     ・統計的な有効変数算出
     ・統計数理モデル化
        -優先順位制御
        -実行タイミング制御
        -統計フィードバック
        -適正リソース量算出
     ・予測数理体系
論文(体系の一部)
M.Nakao, N. Kobayashi, K.Hamada, T.Totsuka, S.Yamada,
“Decoupling Executions in Navigating Manufacturing Processes for Shortening Lead Time and Its Implementation
to an Unmanned Machine Shop”,
CIRP Annals - Manufacturing Technology Volume 56, Issue 1, Pages 171-174 (2007)                         14
参加者
  自己紹介Time

(1分以内ずつ:計30分程度)


                  15
AGENDA
   ◆自己紹介
   ◆Mahoutとは
   ◆Clustering
   ◆Mahout Clustering
   ◆Mahout k-means
   ◆参考資料
   ◆最後に
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
      (Hadoop:象, Mahout: 象使い)




             http://mahout.apache.org
                                        17
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
      (Hadoop:象, Mahout: 象使い)




             http://mahout.apache.org
                                        18
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
      (Hadoop:象, Mahout: 象使い)




             http://mahout.apache.org
                                        19
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
      (Hadoop:象, Mahout: 象使い)




             http://mahout.apache.org
                                        20
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
      (Hadoop:象, Mahout: 象使い)




             http://mahout.apache.org
                                        21
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
     ・Hadoop:象, Mahout: 象使い




           http://mahout.apache.org
                                      22
Mahoutとは
         Open Sourceでスケーラブルな
       機械学習・データマイニングのライブラリ

     ・Apache プロジェクト
     ・機械学習・データマイニングのライブラリ
     ・Java オープンソース
     ・Hadoop(大規模 分散処理基盤)上で動作
     ・Hadoop:象, Mahout: 象使い




           http://mahout.apache.org
                                      23
Mahoutとは
           Open Sourceでスケーラブルな
         機械学習・データマイニングのライブラリ

                               Applications



                                                           Examples


                Freq.
    Genetic     Pattern     Classification    Clustering    Recommenders
                Mining

                            Math
     Utilities                                     Collections    Apache
                            Vectors/Matrices/
     Lucene/Vectorizer                             (primitives)   Hadoop
                            SVD

      http://cwiki.apache.org/confluence/display/MAHOUT/Algorithms
      http://www.slideshare.net/gsingers/intro-to-apache-mahout            24
AGENDA
   ◆自己紹介
   ◆Mahoutとは
   ◆Clustering
   ◆Mahout Clustering
   ◆Mahout k-means
   ◆参考資料
   ◆最後に
Clusteringとは

               データを類似度に従い
               グループに分けること




                            26
Clusteringとは

               データを類似度に従い
               グループに分けること




                 クラスタリングA




                            27
Clusteringとは

               データを類似度に従い
               グループに分けること




                 クラスタリングA




                 クラスタリングB

                            28
Clusteringとは

               データを類似度に従い
               グループに分けること




                 クラスタリングA




                 クラスタリングB

                            29
活用例:マーケティングリサーチ

                 マーケティングリサーチ

データ
好きなお酒に関するアンケート              消費者クラスタ
                     Clustering

ユーザーベクトル
商品・メディア評価   Aさん Bさん Cさん
チューハイ氷結      5   5   1
カロリ          4   5   1
196℃         4   1   1    …
カクテルパートナー    4   4   2
Slat         1   1   1
ほろよい         1   2   2
ウメッシュ        1   1   3
…            1   1   1
テレビ          1   1   5    参考: @bob3bob3 さん:
ネット          5   1   1    「市場細分化とクラスター分析」(第3回データマイニング+WEB勉強会@東京)
                          http://www.slideshare.net/bob3/cfakepathtokyo-webmining3-201004
…            …   …   …
活用例:マーケティングリサーチ

                 マーケティングリサーチ
   消費者のニーズを知り、ターゲティング・チャネル選定に活かす

データ
好きなお酒に関するアンケート              消費者クラスタ                            ・苦いもの
                                                               ・300円台
                                              甘いもの
                     Clustering               100円台


ユーザーベクトル
商品・メディア評価   Aさん Bさん Cさん             ・甘いもの
                                    ・低カロリ
チューハイ氷結      5   5   1              ・テレビ
カロリ          4   5   1
196℃         4   1   1    …
カクテルパートナー    4   4   2                        ・甘いもの                 ・塩味
Slat         1   1   1                        ・低カロリ                 ・炭酸
                                              ・ネット                  ・400円台
ほろよい         1   2   2
                                       自社ターゲットで                  新しい
ウメッシュ        1   1   3                 到達できていない                  ユーザーニーズの発見
…            1   1   1                 ユーザー層の発見
テレビ          1   1   5    参考: @bob3bob3 さん:
ネット          5   1   1    「市場細分化とクラスター分析」(第3回データマイニング+WEB勉強会@東京)
                          http://www.slideshare.net/bob3/cfakepathtokyo-webmining3-201004
…            …   …   …
活用例:健診データ

                              健診データ

データ
健診データ                             受診者クラスタ
                           Clustering

ユーザーベクトル
健康特徴     Aさん    Bさん    Cさん
年齢       46     44     …
 BMI     25.6   20.1
血圧上      126    119
血圧下      77     70
中性脂肪     321    156
空腹時血糖値   95     98
LDL      130    123
GOT      23     27
GPT      41.5   38      参考:@dichika さん:
                        「健診データへのクラスタリング適用例」(第3回データマイニング+WEB勉強会@東京)
yGTP     51.5   79
                        http://www.slideshare.net/guestbe53f7/kenshin
…        …      …
活用例:健診データ

                              健診データ
            病人の特徴を知り、病気の予防に活かす

データ
健診データ                             受診者クラスタ
                           Clustering
                                                                          メダボリック
ユーザーベクトル                                                                  シンドローム
健康特徴     Aさん    Bさん    Cさん
年齢       46     44     …                                                メタボリック
 BMI     25.6   20.1                                                    シンドローム予備軍
血圧上      126    119                                                     ⇒減量指導する
血圧下      77     70
中性脂肪     321    156
空腹時血糖値   95     98
LDL      130    123
GOT      23     27
GPT      41.5   38      参考:@dichika さん:
                        「健診データへのクラスタリング適用例」(第3回データマイニング+WEB勉強会@東京)
yGTP     51.5   79
                        http://www.slideshare.net/guestbe53f7/kenshin
…        …      …
クラスタリング手法の種類


                手法と帰属度の分類軸がある

 分類        種類                 内容
手法    階層的手法      ①各データそれぞれを一つのクラスタとする
                 ②状態を初期状態とするクラスタの距離、類似度で2つのクラ
                 スタを逐次的に併合していく
                 ③目的のクラスタ数まで併合が行われたときに処理を終了す
                 る

      非階層的手法     ①データの良さを表す評価関数を設定する
      (分割最適化)    ②評価関数に対する最適解(最適分割)を探索する

帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する
      ング
      ソフトクラスタリ   各データが複数のクラスタリングに所属することを許す
      ング         (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ
                 ングとなる)
                                                 34
クラスタリング手法の種類


                手法と帰属度の分類軸がある

 分類        種類                 内容
手法    階層的手法      ①各データそれぞれを一つのクラスタとする
                 ②状態を初期状態とするクラスタの距離、類似度で2つのクラ
                 スタを逐次的に併合していく
                 ③目的のクラスタ数まで併合が行われたときに処理を終了す
                 る

      非階層的手法     ①データの良さを表す評価関数を設定する
      (分割最適化)    ②評価関数に対する最適解(最適分割)を探索する

帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する
      ング
      ソフトクラスタリ   各データが複数のクラスタリングに所属することを許す
      ング         (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ
                 ングとなる)
                                                 35
クラスタリング手法の種類


                手法と帰属度の分類軸がある

 分類        種類                 内容
手法    階層的手法      ①各データそれぞれを一つのクラスタとする
                 ②状態を初期状態とするクラスタの距離、類似度で2つのクラ
                 スタを逐次的に併合していく
                 ③目的のクラスタ数まで併合が行われたときに処理を終了す
                 る

      非階層的手法     ①データの良さを表す評価関数を設定する
      (分割最適化)    ②評価関数に対する最適解(最適分割)を探索する

帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する
      ング
      ソフトクラスタリ   各データが複数のクラスタリングに所属することを許す
      ング         (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ
                 ングとなる)
                                                 36
クラスタリング手法の種類


                      クラスタリング手法

  種類                 ハード                         ソフト
階層的    ・Group Average method
       ・Single Linkage Method
       ・Complete Linkage Method
       ・Ward Method
       ・Centroid Method
       ・Median Method
非階層的   ・k-means                   ・Fuzzy k-means
       ・Canopy                    ・Gaussian Discriminative Analysis
       ・Mean-Shift                ・Dirichlet Processing
       ・Spectral Clustering




                                                                      37
クラスタリング手法の種類


                      クラスタリング手法

  種類                 ハード                         ソフト
階層的    ・Group Average method
       ・Single Linkage Method
       ・Complete Linkage Method
       ・Ward Method
       ・Centroid Method
       ・Median Method
非階層的   ・k-means                   ・Fuzzy k-means
       ・Canopy                    ・Gaussian Discriminative Analysis
       ・Mean-Shift                ・Dirichlet Processing
       ・Spectral Clustering




                                                                      38
クラスタリング手法の種類


                      クラスタリング手法

  種類                 ハード                         ソフト
階層的    ・Group Average method
       ・Single Linkage Method
       ・Complete Linkage Method
       ・Ward Method
       ・Centroid Method
       ・Median Method
非階層的   ・k-means                   ・Fuzzy k-means
       ・Canopy                    ・Gaussian Discriminative Analysis
       ・Mean-Shift                ・Dirichlet Processing
       ・Spectral Clustering




                                                                      39
クラスタリング手法の種類


                      クラスタリング手法

  種類                 ハード                         ソフト
階層的    ・Group Average method
       ・Single Linkage Method
       ・Complete Linkage Method
       ・Ward Method
       ・Centroid Method
       ・Median Method
非階層的   ・k-means                   ・Fuzzy k-means
       ・Canopy                    ・Gaussian Discriminative Analysis
       ・Mean-Shift                ・Dirichlet Processing
       ・Spectral Clustering




                                                                      40
クラスタリング手法の種類


                  Mahout Clustering 実装

  種類                 ハード                         ソフト
階層的    ・Group Average method
       ・Single Linkage Method
       ・Complete Linkage Method
       ・Ward Method
       ・Centroid Method
       ・Median Method
非階層的   ・k-means                   ・Fuzzy k-means
       ・Canopy                    ・Gaussian Discriminative Analysis
       ・Mean-Shift                ・Dirichlet Processing
       ・Spectral Clustering




                                                                      41
AGENDA
   ◆自己紹介
   ◆Mahoutとは
   ◆Clustering
   ◆Mahout Clustering
   ◆Mahout k-means
   ◆参考資料
   ◆最後に
Mahout Clustering


                            Mahout Clustering

    種類                     ハード                         ソフト
階層的          ・Group Average method
             ・Single Linkage Method
             ・Complete Linkage Method
             ・Ward Method
             ・Centroid Method
             ・Median Method
非階層的         ・k-means                   ・Fuzzy k-means
             ・Canopy                    ・Gaussian Discriminative Analysis
             ・Mean-Shift                ・Dirichlet Processing
             ・Spectral Clustering




                                                                            43
Mahout Clustering


                                   Mahout Clustering
  クラスタリング手法                              特徴
  k-means Clustering                     クラスタをクラスタ数個の代表値で特徴づけクラ
                                         スタリング:
                                         非階層的手法で最も代表的な手法。現実のクラス
                                         タリングでも使われることが多く、実用的な手法。
  Fuzzy k-means                          K-meansで各要素が複数クラスタに帰属する形に
                                         拡張:
                                         距離に帰属度を掛け合わせクラスタ評価。
  Gaussian Discriminative Analysis,      確率モデルでのクラスタリング:
  Dirichlet Processing Clustering        観測データが異なる確率分布(ガウス分布/ディリ
                                         クレ分布)の混合分布であると仮定。個体が属する
                                         クラスを隠れ変数を推定する。データの発生メカ
                                         ニズムが確率モデルでうまくモデル化できるとき、
                                         強力な手法。
  Canopy                                 指定距離の範囲[D1, D2]内のデータ点セットを抽
                                         出する:K-meansの初期重心算出で用いられる。
  Mean Shift                             密度増加が最大半径で各クラスタ算出:指定距離
                                         範囲でクラスタリング半径を順次増やしていく。
  Spectral Clustering (Eigencut)         類似度グラフの分割によるクラスタリング
                                                                      44
Mahout Clustering


                                   Mahout Clustering
  クラスタリング手法                              特徴
  k-means Clustering                     クラスタをクラスタ数個の代表値で特徴づけクラ
                                         スタリング:
                                         非階層的手法で最も代表的な手法。現実のクラス
                                         タリングでも使われることが多く、実用的な手法。
  Fuzzy k-means                          K-meansで各要素が複数クラスタに帰属する形に
                                         拡張:
                                         距離に帰属度を掛け合わせクラスタ評価。
  Gaussian Discriminative Analysis,      確率モデルでのクラスタリング:
  Dirichlet Processing Clustering        観測データが異なる確率分布(ガウス分布/ディリ
                                         クレ分布)の混合分布であると仮定。個体が属する
                                         クラスを隠れ変数を推定する。データの発生メカ
                                         ニズムが確率モデルでうまくモデル化できるとき、
                                         強力な手法。
  Canopy                                 指定距離の範囲[D1, D2]内のデータ点セットを抽
                                         出する:K-meansの初期重心算出で用いられる。
  Mean Shift                             密度増加が最大半径で各クラスタ算出:指定距離
                                         範囲でクラスタリング半径を順次増やしていく。
  Spectral Clustering (Eigencut)         類似度グラフの分割によるクラスタリング
                                                                      45
AGENDA
   ◆自己紹介
   ◆Mahoutとは
   ◆Clustering
   ◆Mahout Clustering
   ◆Mahout k-means
   ◆参考資料
   ◆最後に
k-means
アルゴリズム
k-means: 最も単純なアルゴリズム (E.W. Forgy 1965)

①データセットの中からK個のクラスタの
 代表点 c1,c2,…,cKをランダムに選ぶ




 例) データ数 N=5,クラスタ数 K=2
       3
                4
  c2
  ×        c1
  2                 5
       1×
                                         48
k-means: 最も単純なアルゴリズム (E.W. Forgy 1965)

①データセットの中からK個のクラスタの
 代表点 c1,c2,…,cKをランダムに選ぶ


②各データ x に対し、 ciとの距離を測り
 最も距離の短い ci に対するに対する
 クラスタを xのクラスタに設定する



 評価関数(最小化問題)


 例) データ数 N=5,クラスタ数 K=2
       3                     3                        3
                4                     4       c2               4
  c2                    c2                        ×
                                                          c1
  ×        c1           ×        c1                        ×
  2                 5   2                 5   2                    5
       1×                    1×                       1
                                                                       49
k-means: 最も単純なアルゴリズム (E.W. Forgy 1965)

①データセットの中からK個のクラスタの
 代表点 c1,c2,…,cKをランダムに選ぶ


②各データ x に対し、 ciとの距離を測り                                 ③各クラスタの平均値(重心)を
 最も距離の短い ci に対するに対する                                    クラスタの代表点とする。
 クラスタを xのクラスタに設定する                                      (K個の平均値がクラスタを代表)
                        ※各データ x のクラスタが変化しなくなるまで繰り返す

 評価関数(最小化問題)


 例) データ数 N=5,クラスタ数 K=2
       3                      3                        3                        3
                4                      4       c2               4       c2               4
  c2                     c2                        ×                        ×
                                                           c1                       c1
  ×        c1           ×         c1                        ×                        ×
  2                 5   2                  5   2                    5   2                    5
       1×                     1×                       1                        1
                                                                                             50
Mahout K-means の実行手順




                       K-meansジョブの

 データのVectorクラスのリスト作成      実行
      ファイル書き出し
                                     出力結果の読み込み

 初期のクラスタ重心のリスト作成
      ファイル書き出し




                                                 51
Mahout K-means の実行手順




    実際の実装法を見ていきましょう
                   (ソースコード抜粋)


■全ソースコードは以下の場所に公開しています
   [mahout] Mahout Programming : K-Means Clustering
    http://d.hatena.ne.jp/hamadakoichi/20100718/p1

■Mahout導入手順
   [mahout] Mahout 導入手順
    http://d.hatena.ne.jp/hamadakoichi/20100703/p2
                                                      52
Mahout K-means の実行手順

データ表現:               org.apache.mahout.math
   Interface                  内容
   Vector                     データ点表現のインターフェース
   Class                      内容
   DenseVector                Vector のdoubleの配列での実装

K-means実行:           org.apache.mahout.clustering.kmeans.KMeansDriver
   Class                      内容
   Cluster                    クラスタを表現
   KMeansDriver               K-meansジョブを実行する

距離算出法 指定: org.apache.mahout.common.distance
   Interface                       内容
   DistanceMeasure                 2点間の距離算出法のインターフェース
   Class                           内容
   CosineDistanceMeasure           コサイン距離での実装
   EuclideanDistanceMeasure        ユークリッド距離での実装
   …                               他距離 (Manhattan, SquareEuclidean, ..etc)
                                                                             53
Mahout K-means の実行手順




                       K-meansジョブの

 データのVectorクラスのリスト作成      実行
      ファイル書き出し
                                     出力結果の読み込み

 初期のクラスタ重心のリスト作成
      ファイル書き出し




                                                 54
Mahout K-means の実行手順




                       K-meansジョブの

 データのVectorクラスのリスト作成      実行
      ファイル書き出し
                                     出力結果の読み込み

 初期のクラスタ重心のリスト作成
      ファイル書き出し




                                                 55
Mahout K-means の実行手順

      1.入力データから Vectorクラスのリストを作成
             ファイル書き出し

 データ点のVectorクラスのリスト作成




  サンプルデータ
    iris(アヤメ)データ:よい性質を持ち よく使用される
    (R環境で標準提供されている)      花葉        花びら




        Iris Sanguinea
                                         56
Mahout K-means の実行手順

      1.入力データから Vectorクラスのリストを作成
             ファイル書き出し

 データ点のVectorクラスのリスト作成




 ファイル書き出し




                                   57
Mahout K-means の実行手順




                       K-meansジョブの

 データのVectorクラスのリスト作成      実行
      ファイル書き出し
                                     出力結果の読み込み

 初期のクラスタ重心のリスト作成
      ファイル書き出し




                                                 58
Mahout K-means の実行手順

                2.初期クラスタの作成
                  ファイル書き出し
 初期クラスタのClusterクラス作成(Vectorデータ点を指定)
 ファイル書き出し




                                      59
Mahout K-means の実行手順




                       K-meansジョブの

 データのVectorクラスのリスト作成      実行
      ファイル書き出し
                                     出力結果の読み込み

 初期のクラスタ重心のリスト作成
      ファイル書き出し




                                                 60
Mahout K-means の実行手順


                            3.K-meansの実行
 K-meansのパラメータを指定し実行する




 runJob(java.lang.String input, java.lang.String clustersIn, java.lang.String output,
        Java.lang.String measureClass, double convergenceDelta,
        int maxIterations, int numReduceTasks)

         input – 入力データのディレクトリパス名
         clustersIn – 初期クラスタのディレクトリ名
         output – 出力データのディレクトリパス名
         measureClass – 距離クラス
         convergenceDelta - 収束閾値
         maxIterations – 最大繰り返し数
         numReduceTasks – reducer数
                                                                                        61
Mahout K-means の実行手順




                       K-meansジョブの

 データのVectorクラスのリスト作成      実行
      ファイル書き出し
                                     出力結果の読み込み

 初期のクラスタ重心のリスト作成
      ファイル書き出し




                                                 62
Mahout K-means の実行手順


                4.出力結果の読み込み


 クラスタリング結果(クラスタID)の読み込み



  結果形式
        key                Value
        データ点(Vector)のkey   ClusterId




                                       63
Mahout K-means の実行手順


        試しに クラスタリング結果(クラスタID)を見てみる
 結果の読み込み・コンソール出力




 結果




                                     64
Mahout K-means の実行手順




                       K-meansジョブの

 データのVectorクラスのリスト作成      実行
      ファイル書き出し
                                     出力結果の読み込み

 初期のクラスタ重心のリスト作成
      ファイル書き出し




                                                 65
AGENDA
   ◆自己紹介
   ◆Mahoutとは
   ◆Clustering
   ◆Mahout Clustering
   ◆Mahout k-means
   ◆参考資料
   ◆最後に
参考資料:クラスター分析




http://www.slideshare.net/hamadakoichi/webr-r     http://www.slideshare.net/hamadakoichi/r-3754836




http://www.slideshare.net/bob3/cfakepathtokyo-webmining3-201004
                                                  http://www.slideshare.net/guestbe53f7/kenshin
参考資料:Mahout/Hadoop/Recommendation




http://www.slideshare.net/karubi/web-mining-0620   http://www.slideshare.net/yanaoki/hadoop-4683332




http://www.slideshare.net/hamadakoichi/ss-4552939 http://www.slideshare.net/hamadakoichi/ss-4113135
参考資料:

 ■ Apach Mahout
   http://mahout.apache.org
   http://cwiki.apache.org/MAHOUT
   http://cwiki.apache.org/confluence/display/MAHOUT/Algorithms
   http://www.slideshare.net/gsingers/intro-to-apache-mahout

 ■ Mahout In Action (Manning Early Access Edition)
   http://www.manning.com/owen/




                                                                  69
参考資料:

        集合知イン・アクション




        集合知プログラミング




                      70
AGENDA
   ◆自己紹介
   ◆Mahoutとは
   ◆Clustering
   ◆Mahout Clustering
   ◆Mahout k-means
   ◆参考資料
   ◆最後に
最後に

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




                           72
最後に

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




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

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




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




                 75
AGENDA
   ◆自己紹介
   ◆Mahoutとは
   ◆Clustering
   ◆Mahout Clustering
   ◆Mahout k-means
   ◆参考資料
   ◆最後に
補足資料
階層的手法:アルゴリズム




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

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

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



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

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

  ※ひとつのクラスタになるまで繰り返し


                       78
階層的手法:手法とクラスタ間距離


                      各手法のクラスタ間距離

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

                                                        79

Weitere ähnliche Inhalte

Was ist angesagt?

ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京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
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京Koichi Hamada
 
[R勉強会][データマイニング] プロセス・リソース・グラフと数理統計解析
[R勉強会][データマイニング] プロセス・リソース・グラフと数理統計解析[R勉強会][データマイニング] プロセス・リソース・グラフと数理統計解析
[R勉強会][データマイニング] プロセス・リソース・グラフと数理統計解析Koichi Hamada
 
夏サミ2012 [A-2]ソーシャルプラットフォームを使った業務アプリ開発の現場(ソーシャル機能を取り入れたエンタープライズアプリケーション)
夏サミ2012 [A-2]ソーシャルプラットフォームを使った業務アプリ開発の現場(ソーシャル機能を取り入れたエンタープライズアプリケーション)夏サミ2012 [A-2]ソーシャルプラットフォームを使った業務アプリ開発の現場(ソーシャル機能を取り入れたエンタープライズアプリケーション)
夏サミ2012 [A-2]ソーシャルプラットフォームを使った業務アプリ開発の現場(ソーシャル機能を取り入れたエンタープライズアプリケーション)Akira Kuratani
 
データサイエンティスト協会 木曜勉強会 #09 『意志の力が拓くシステム~最適化の適用事例から見たデータ活用システムの現在と未来~』
データサイエンティスト協会 木曜勉強会 #09 『意志の力が拓くシステム~最適化の適用事例から見たデータ活用システムの現在と未来~』データサイエンティスト協会 木曜勉強会 #09 『意志の力が拓くシステム~最適化の適用事例から見たデータ活用システムの現在と未来~』
データサイエンティスト協会 木曜勉強会 #09 『意志の力が拓くシステム~最適化の適用事例から見たデータ活用システムの現在と未来~』The Japan DataScientist Society
 

Was ist angesagt? (6)

ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
 
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011 『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
 
[R勉強会][データマイニング] プロセス・リソース・グラフと数理統計解析
[R勉強会][データマイニング] プロセス・リソース・グラフと数理統計解析[R勉強会][データマイニング] プロセス・リソース・グラフと数理統計解析
[R勉強会][データマイニング] プロセス・リソース・グラフと数理統計解析
 
夏サミ2012 [A-2]ソーシャルプラットフォームを使った業務アプリ開発の現場(ソーシャル機能を取り入れたエンタープライズアプリケーション)
夏サミ2012 [A-2]ソーシャルプラットフォームを使った業務アプリ開発の現場(ソーシャル機能を取り入れたエンタープライズアプリケーション)夏サミ2012 [A-2]ソーシャルプラットフォームを使った業務アプリ開発の現場(ソーシャル機能を取り入れたエンタープライズアプリケーション)
夏サミ2012 [A-2]ソーシャルプラットフォームを使った業務アプリ開発の現場(ソーシャル機能を取り入れたエンタープライズアプリケーション)
 
データサイエンティスト協会 木曜勉強会 #09 『意志の力が拓くシステム~最適化の適用事例から見たデータ活用システムの現在と未来~』
データサイエンティスト協会 木曜勉強会 #09 『意志の力が拓くシステム~最適化の適用事例から見たデータ活用システムの現在と未来~』データサイエンティスト協会 木曜勉強会 #09 『意志の力が拓くシステム~最適化の適用事例から見たデータ活用システムの現在と未来~』
データサイエンティスト協会 木曜勉強会 #09 『意志の力が拓くシステム~最適化の適用事例から見たデータ活用システムの現在と未来~』
 

Andere mochten auch

機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレストTeppei Baba
 
協調フィルタリング with Mahout
協調フィルタリング with Mahout協調フィルタリング with Mahout
協調フィルタリング with MahoutKatsuhiro Takata
 
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
 
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編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
 
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナーKoichi Hamada
 
Mobageのhadoop活用環境と適用方法
Mobageのhadoop活用環境と適用方法Mobageのhadoop活用環境と適用方法
Mobageのhadoop活用環境と適用方法show you
 
.NET Micro Framework の基礎
.NET Micro Framework の基礎.NET Micro Framework の基礎
.NET Micro Framework の基礎Yoshitaka Seo
 
ComplementaryNaiveBayesClassifier
ComplementaryNaiveBayesClassifierComplementaryNaiveBayesClassifier
ComplementaryNaiveBayesClassifierNaoki Yanai
 
Mahoutにパッチを送ってみた
Mahoutにパッチを送ってみたMahoutにパッチを送ってみた
Mahoutにパッチを送ってみたissaymk2
 
Hadoop/Mahout/HBaseで テキスト分類器を作ったよ
Hadoop/Mahout/HBaseで テキスト分類器を作ったよHadoop/Mahout/HBaseで テキスト分類器を作ったよ
Hadoop/Mahout/HBaseで テキスト分類器を作ったよNaoki Yanai
 
Introduction to fuzzy kmeans on mahout
Introduction to fuzzy kmeans on mahoutIntroduction to fuzzy kmeans on mahout
Introduction to fuzzy kmeans on mahouttakaya imai
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Daisuke Ikeda
 
Tensorflow ruby
Tensorflow rubyTensorflow ruby
Tensorflow rubyjtoy
 
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-Koichi Hamada
 
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- 『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- Koichi Hamada
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTT DATA OSS Professional Services
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JPSercan Ahi
 

Andere mochten auch (20)

機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト
 
協調フィルタリング with Mahout
協調フィルタリング with Mahout協調フィルタリング with Mahout
協調フィルタリング with Mahout
 
Apache Mahout - Random Forests - #TokyoWebmining #8
Apache Mahout - Random Forests - #TokyoWebmining #8 Apache Mahout - Random Forests - #TokyoWebmining #8
Apache Mahout - Random Forests - #TokyoWebmining #8
 
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
 
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
 
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
 
Mobageのhadoop活用環境と適用方法
Mobageのhadoop活用環境と適用方法Mobageのhadoop活用環境と適用方法
Mobageのhadoop活用環境と適用方法
 
.NET Micro Framework の基礎
.NET Micro Framework の基礎.NET Micro Framework の基礎
.NET Micro Framework の基礎
 
machine learning & apache mahout
machine learning & apache mahoutmachine learning & apache mahout
machine learning & apache mahout
 
ComplementaryNaiveBayesClassifier
ComplementaryNaiveBayesClassifierComplementaryNaiveBayesClassifier
ComplementaryNaiveBayesClassifier
 
Mahoutにパッチを送ってみた
Mahoutにパッチを送ってみたMahoutにパッチを送ってみた
Mahoutにパッチを送ってみた
 
Hadoop/Mahout/HBaseで テキスト分類器を作ったよ
Hadoop/Mahout/HBaseで テキスト分類器を作ったよHadoop/Mahout/HBaseで テキスト分類器を作ったよ
Hadoop/Mahout/HBaseで テキスト分類器を作ったよ
 
Introduction to fuzzy kmeans on mahout
Introduction to fuzzy kmeans on mahoutIntroduction to fuzzy kmeans on mahout
Introduction to fuzzy kmeans on mahout
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)
 
Frequency Pattern Mining
Frequency Pattern MiningFrequency Pattern Mining
Frequency Pattern Mining
 
Tensorflow ruby
Tensorflow rubyTensorflow ruby
Tensorflow ruby
 
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
 
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- 『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JP
 

Ähnlich wie Introduction to Mahout Clustering - #TokyoWebmining #6

AWSを活用要したSAPアップグレードプロジェクト事例
AWSを活用要したSAPアップグレードプロジェクト事例AWSを活用要したSAPアップグレードプロジェクト事例
AWSを活用要したSAPアップグレードプロジェクト事例Masaru Hiroki
 
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)Amazon Web Services Japan
 
第5回SIA研究会(例会)プレゼン資料
第5回SIA研究会(例会)プレゼン資料第5回SIA研究会(例会)プレゼン資料
第5回SIA研究会(例会)プレゼン資料Tae Yoshida
 
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏Developers Summit
 
セミナー資料「STAR-CCM+ クラウド活用ハンズオンセミナー with Rescale」
セミナー資料「STAR-CCM+ クラウド活用ハンズオンセミナー with Rescale」セミナー資料「STAR-CCM+ クラウド活用ハンズオンセミナー with Rescale」
セミナー資料「STAR-CCM+ クラウド活用ハンズオンセミナー with Rescale」Rescale Japan株式会社
 
提案プロセスのマネジメント
提案プロセスのマネジメント提案プロセスのマネジメント
提案プロセスのマネジメントNaoki Ishimitsu
 
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組みJaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組みHideki Sugimoto
 
スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31Sukusuku Scrum
 
yokyo-unv.
yokyo-unv.yokyo-unv.
yokyo-unv.hirano
 
20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つYuichi Hasegawa
 
TERAS Conference
TERAS ConferenceTERAS Conference
TERAS ConferenceKeiju Anada
 
バッチは地味だが役に立つ
バッチは地味だが役に立つバッチは地味だが役に立つ
バッチは地味だが役に立つapkiban
 
NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?shibao800
 
ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ Kent Ishizawa
 
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合InnovationSprint2011
 
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸Takahiro Iwase
 
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)Operation Lab, LLC.
 
テストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうテストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうSayaka Nakano
 
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北Akiko Kosaka
 

Ähnlich wie Introduction to Mahout Clustering - #TokyoWebmining #6 (20)

AWSを活用要したSAPアップグレードプロジェクト事例
AWSを活用要したSAPアップグレードプロジェクト事例AWSを活用要したSAPアップグレードプロジェクト事例
AWSを活用要したSAPアップグレードプロジェクト事例
 
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)
2012年上半期 AWSパートナーアワード受賞社資料:SAPアップグレードプロジェクト事例 (株式会社クニエ様)
 
第5回SIA研究会(例会)プレゼン資料
第5回SIA研究会(例会)プレゼン資料第5回SIA研究会(例会)プレゼン資料
第5回SIA研究会(例会)プレゼン資料
 
JasstTokyo2017
JasstTokyo2017JasstTokyo2017
JasstTokyo2017
 
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
 
セミナー資料「STAR-CCM+ クラウド活用ハンズオンセミナー with Rescale」
セミナー資料「STAR-CCM+ クラウド活用ハンズオンセミナー with Rescale」セミナー資料「STAR-CCM+ クラウド活用ハンズオンセミナー with Rescale」
セミナー資料「STAR-CCM+ クラウド活用ハンズオンセミナー with Rescale」
 
提案プロセスのマネジメント
提案プロセスのマネジメント提案プロセスのマネジメント
提案プロセスのマネジメント
 
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組みJaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
 
スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31
 
yokyo-unv.
yokyo-unv.yokyo-unv.
yokyo-unv.
 
20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ
 
TERAS Conference
TERAS ConferenceTERAS Conference
TERAS Conference
 
バッチは地味だが役に立つ
バッチは地味だが役に立つバッチは地味だが役に立つ
バッチは地味だが役に立つ
 
NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?NTTデータはどうやってCCPMを導入したのか?
NTTデータはどうやってCCPMを導入したのか?
 
ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ
 
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
 
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸
 
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
 
テストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうテストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おう
 
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
 

Mehr von 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
 
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
 
複雑ネットワーク上の伝搬法則の数理
複雑ネットワーク上の伝搬法則の数理複雑ネットワーク上の伝搬法則の数理
複雑ネットワーク上の伝搬法則の数理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
 
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京Koichi Hamada
 

Mehr von Koichi Hamada (17)

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) の学習方法進展・画像生成・教師なし画像変換
 
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
 
複雑ネットワーク上の伝搬法則の数理
複雑ネットワーク上の伝搬法則の数理複雑ネットワーク上の伝搬法則の数理
複雑ネットワーク上の伝搬法則の数理
 
データマイニング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...
 
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
 

Introduction to Mahout Clustering - #TokyoWebmining #6

  • 1. 第6回データマイニング+WEB勉強会@東京 2010/08/22 Mahout クラスタリング入門 Introduction to Mahout Clustering hamadakoichi 濱田 晃一
  • 2. AGENDA ◆自己紹介 ◆Mahoutとは ◆Clustering ◆Mahout Clustering ◆Mahout k-means ◆参考資料 ◆最後に
  • 3. AGENDA ◆自己紹介 ◆Mahoutとは ◆Clustering ◆Mahout Clustering ◆Mahout k-means ◆参考資料 ◆最後に
  • 4. hamadakoichi 濱田晃一 http://iddy.jp/profile/hamadakoichi 4
  • 7. 自己紹介: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 7
  • 8. 自己紹介:hamadakoichi 濱田晃一 文部大臣に褒められた 元 文部大臣・法務大臣 六法全書著者・元法学政治学研究科長 森山眞弓さん 菅野和夫さん 8
  • 9. 自己紹介:hamadakoichi 濱田晃一 Los Angelesでプロダンサーに褒められた ・HIP HOP/House ダンス歴13年 ・ダンス開始後 1年半でL.A.でプロダンサーに褒められる Youtube Channel: http://www.youtube.com/hamadakoichi 9
  • 10. 自己紹介:hamadakoichi 濱田晃一 毎週末3時間ダンスコーチをしています ■過去、東京と京都でも ダンス部を創設。 コーチをしていました 駒場物理ダンス部 京都大学基礎物理学研究所ダンス部 部長兼コーチ 部長兼コーチ 現在: 毎週末 3時間ダンスコーチ Youtube Channel: http://www.youtube.com/hamadakoichi 10
  • 11. 数理解析手法の実ビジネスへの適用 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", 11
  • 12. 数理解析手法の実ビジネスへの適用:活動例 活動例 活動の統一グラフモデルを構築・解析 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の所有関係を表す 12
  • 13. 数理解析手法の実ビジネスへの適用:活動例 一品一様の業務プロセスの 動的なプロセス制御数理体系を構築 全体生産リードタイム中央値を 1/2.7に短縮 設計開始~頭だし出荷リードタイム 設計開始~頭だし出荷CT対週集計開始日時の箱ひげ図 体系適用 500 適用後 設計開始~頭だし出荷CT 400 360.4h(15.0日) 1/2.7 300 200 100 0 0 0 0 0 0 0 0 0 0 0 141.6h(5.9日) 0 0 0 9: 0 9 :0 9 :0 9 :0 9: 0 9 :0 9 :0 9 :0 9: 0 9 :0 9 :0 9 :0 9: 0 9 :0 0 7 4 1 8 5 1 8 5 2 9 6 3 0 /2 /2 /0 /1 /1 /2 /0 /0 /1 /2 /2 /0 /1 /2 09 09 10 10 10 10 11 11 11 11 11 12 12 12 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 週集計開始日時 13
  • 14. 数理解析手法の実ビジネスへの適用:活動例 ビジネスとともに 学術分野でも貢献 変動性から生じる動的な課題 ・リソースの競合 ・滞留 ・納期遅延 … 一品一様な業務プロセスを含む 統計解析・制御数理モデル ・統計的な有効変数算出 ・統計数理モデル化 -優先順位制御 -実行タイミング制御 -統計フィードバック -適正リソース量算出 ・予測数理体系 論文(体系の一部) M.Nakao, N. Kobayashi, K.Hamada, T.Totsuka, S.Yamada, “Decoupling Executions in Navigating Manufacturing Processes for Shortening Lead Time and Its Implementation to an Unmanned Machine Shop”, CIRP Annals - Manufacturing Technology Volume 56, Issue 1, Pages 171-174 (2007) 14
  • 16. AGENDA ◆自己紹介 ◆Mahoutとは ◆Clustering ◆Mahout Clustering ◆Mahout k-means ◆参考資料 ◆最後に
  • 17. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 17
  • 18. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 18
  • 19. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 19
  • 20. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 20
  • 21. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 21
  • 22. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 ・Hadoop:象, Mahout: 象使い http://mahout.apache.org 22
  • 23. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 ・Hadoop:象, Mahout: 象使い http://mahout.apache.org 23
  • 24. Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ Applications Examples Freq. Genetic Pattern Classification Clustering Recommenders Mining Math Utilities Collections Apache Vectors/Matrices/ Lucene/Vectorizer (primitives) Hadoop SVD http://cwiki.apache.org/confluence/display/MAHOUT/Algorithms http://www.slideshare.net/gsingers/intro-to-apache-mahout 24
  • 25. AGENDA ◆自己紹介 ◆Mahoutとは ◆Clustering ◆Mahout Clustering ◆Mahout k-means ◆参考資料 ◆最後に
  • 26. Clusteringとは データを類似度に従い グループに分けること 26
  • 27. Clusteringとは データを類似度に従い グループに分けること クラスタリングA 27
  • 28. Clusteringとは データを類似度に従い グループに分けること クラスタリングA クラスタリングB 28
  • 29. Clusteringとは データを類似度に従い グループに分けること クラスタリングA クラスタリングB 29
  • 30. 活用例:マーケティングリサーチ マーケティングリサーチ データ 好きなお酒に関するアンケート 消費者クラスタ Clustering ユーザーベクトル 商品・メディア評価 Aさん Bさん Cさん チューハイ氷結 5 5 1 カロリ 4 5 1 196℃ 4 1 1 … カクテルパートナー 4 4 2 Slat 1 1 1 ほろよい 1 2 2 ウメッシュ 1 1 3 … 1 1 1 テレビ 1 1 5 参考: @bob3bob3 さん: ネット 5 1 1 「市場細分化とクラスター分析」(第3回データマイニング+WEB勉強会@東京) http://www.slideshare.net/bob3/cfakepathtokyo-webmining3-201004 … … … …
  • 31. 活用例:マーケティングリサーチ マーケティングリサーチ 消費者のニーズを知り、ターゲティング・チャネル選定に活かす データ 好きなお酒に関するアンケート 消費者クラスタ ・苦いもの ・300円台 甘いもの Clustering 100円台 ユーザーベクトル 商品・メディア評価 Aさん Bさん Cさん ・甘いもの ・低カロリ チューハイ氷結 5 5 1 ・テレビ カロリ 4 5 1 196℃ 4 1 1 … カクテルパートナー 4 4 2 ・甘いもの ・塩味 Slat 1 1 1 ・低カロリ ・炭酸 ・ネット ・400円台 ほろよい 1 2 2 自社ターゲットで 新しい ウメッシュ 1 1 3 到達できていない ユーザーニーズの発見 … 1 1 1 ユーザー層の発見 テレビ 1 1 5 参考: @bob3bob3 さん: ネット 5 1 1 「市場細分化とクラスター分析」(第3回データマイニング+WEB勉強会@東京) http://www.slideshare.net/bob3/cfakepathtokyo-webmining3-201004 … … … …
  • 32. 活用例:健診データ 健診データ データ 健診データ 受診者クラスタ Clustering ユーザーベクトル 健康特徴 Aさん Bさん Cさん 年齢 46 44 … BMI 25.6 20.1 血圧上 126 119 血圧下 77 70 中性脂肪 321 156 空腹時血糖値 95 98 LDL 130 123 GOT 23 27 GPT 41.5 38 参考:@dichika さん: 「健診データへのクラスタリング適用例」(第3回データマイニング+WEB勉強会@東京) yGTP 51.5 79 http://www.slideshare.net/guestbe53f7/kenshin … … …
  • 33. 活用例:健診データ 健診データ 病人の特徴を知り、病気の予防に活かす データ 健診データ 受診者クラスタ Clustering メダボリック ユーザーベクトル シンドローム 健康特徴 Aさん Bさん Cさん 年齢 46 44 … メタボリック BMI 25.6 20.1 シンドローム予備軍 血圧上 126 119 ⇒減量指導する 血圧下 77 70 中性脂肪 321 156 空腹時血糖値 95 98 LDL 130 123 GOT 23 27 GPT 41.5 38 参考:@dichika さん: 「健診データへのクラスタリング適用例」(第3回データマイニング+WEB勉強会@東京) yGTP 51.5 79 http://www.slideshare.net/guestbe53f7/kenshin … … …
  • 34. クラスタリング手法の種類 手法と帰属度の分類軸がある 分類 種類 内容 手法 階層的手法 ①各データそれぞれを一つのクラスタとする ②状態を初期状態とするクラスタの距離、類似度で2つのクラ スタを逐次的に併合していく ③目的のクラスタ数まで併合が行われたときに処理を終了す る 非階層的手法 ①データの良さを表す評価関数を設定する (分割最適化) ②評価関数に対する最適解(最適分割)を探索する 帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する ング ソフトクラスタリ 各データが複数のクラスタリングに所属することを許す ング (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ ングとなる) 34
  • 35. クラスタリング手法の種類 手法と帰属度の分類軸がある 分類 種類 内容 手法 階層的手法 ①各データそれぞれを一つのクラスタとする ②状態を初期状態とするクラスタの距離、類似度で2つのクラ スタを逐次的に併合していく ③目的のクラスタ数まで併合が行われたときに処理を終了す る 非階層的手法 ①データの良さを表す評価関数を設定する (分割最適化) ②評価関数に対する最適解(最適分割)を探索する 帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する ング ソフトクラスタリ 各データが複数のクラスタリングに所属することを許す ング (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ ングとなる) 35
  • 36. クラスタリング手法の種類 手法と帰属度の分類軸がある 分類 種類 内容 手法 階層的手法 ①各データそれぞれを一つのクラスタとする ②状態を初期状態とするクラスタの距離、類似度で2つのクラ スタを逐次的に併合していく ③目的のクラスタ数まで併合が行われたときに処理を終了す る 非階層的手法 ①データの良さを表す評価関数を設定する (分割最適化) ②評価関数に対する最適解(最適分割)を探索する 帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する ング ソフトクラスタリ 各データが複数のクラスタリングに所属することを許す ング (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ ングとなる) 36
  • 37. クラスタリング手法の種類 クラスタリング手法 種類 ハード ソフト 階層的 ・Group Average method ・Single Linkage Method ・Complete Linkage Method ・Ward Method ・Centroid Method ・Median Method 非階層的 ・k-means ・Fuzzy k-means ・Canopy ・Gaussian Discriminative Analysis ・Mean-Shift ・Dirichlet Processing ・Spectral Clustering 37
  • 38. クラスタリング手法の種類 クラスタリング手法 種類 ハード ソフト 階層的 ・Group Average method ・Single Linkage Method ・Complete Linkage Method ・Ward Method ・Centroid Method ・Median Method 非階層的 ・k-means ・Fuzzy k-means ・Canopy ・Gaussian Discriminative Analysis ・Mean-Shift ・Dirichlet Processing ・Spectral Clustering 38
  • 39. クラスタリング手法の種類 クラスタリング手法 種類 ハード ソフト 階層的 ・Group Average method ・Single Linkage Method ・Complete Linkage Method ・Ward Method ・Centroid Method ・Median Method 非階層的 ・k-means ・Fuzzy k-means ・Canopy ・Gaussian Discriminative Analysis ・Mean-Shift ・Dirichlet Processing ・Spectral Clustering 39
  • 40. クラスタリング手法の種類 クラスタリング手法 種類 ハード ソフト 階層的 ・Group Average method ・Single Linkage Method ・Complete Linkage Method ・Ward Method ・Centroid Method ・Median Method 非階層的 ・k-means ・Fuzzy k-means ・Canopy ・Gaussian Discriminative Analysis ・Mean-Shift ・Dirichlet Processing ・Spectral Clustering 40
  • 41. クラスタリング手法の種類 Mahout Clustering 実装 種類 ハード ソフト 階層的 ・Group Average method ・Single Linkage Method ・Complete Linkage Method ・Ward Method ・Centroid Method ・Median Method 非階層的 ・k-means ・Fuzzy k-means ・Canopy ・Gaussian Discriminative Analysis ・Mean-Shift ・Dirichlet Processing ・Spectral Clustering 41
  • 42. AGENDA ◆自己紹介 ◆Mahoutとは ◆Clustering ◆Mahout Clustering ◆Mahout k-means ◆参考資料 ◆最後に
  • 43. Mahout Clustering Mahout Clustering 種類 ハード ソフト 階層的 ・Group Average method ・Single Linkage Method ・Complete Linkage Method ・Ward Method ・Centroid Method ・Median Method 非階層的 ・k-means ・Fuzzy k-means ・Canopy ・Gaussian Discriminative Analysis ・Mean-Shift ・Dirichlet Processing ・Spectral Clustering 43
  • 44. Mahout Clustering Mahout Clustering クラスタリング手法 特徴 k-means Clustering クラスタをクラスタ数個の代表値で特徴づけクラ スタリング: 非階層的手法で最も代表的な手法。現実のクラス タリングでも使われることが多く、実用的な手法。 Fuzzy k-means K-meansで各要素が複数クラスタに帰属する形に 拡張: 距離に帰属度を掛け合わせクラスタ評価。 Gaussian Discriminative Analysis, 確率モデルでのクラスタリング: Dirichlet Processing Clustering 観測データが異なる確率分布(ガウス分布/ディリ クレ分布)の混合分布であると仮定。個体が属する クラスを隠れ変数を推定する。データの発生メカ ニズムが確率モデルでうまくモデル化できるとき、 強力な手法。 Canopy 指定距離の範囲[D1, D2]内のデータ点セットを抽 出する:K-meansの初期重心算出で用いられる。 Mean Shift 密度増加が最大半径で各クラスタ算出:指定距離 範囲でクラスタリング半径を順次増やしていく。 Spectral Clustering (Eigencut) 類似度グラフの分割によるクラスタリング 44
  • 45. Mahout Clustering Mahout Clustering クラスタリング手法 特徴 k-means Clustering クラスタをクラスタ数個の代表値で特徴づけクラ スタリング: 非階層的手法で最も代表的な手法。現実のクラス タリングでも使われることが多く、実用的な手法。 Fuzzy k-means K-meansで各要素が複数クラスタに帰属する形に 拡張: 距離に帰属度を掛け合わせクラスタ評価。 Gaussian Discriminative Analysis, 確率モデルでのクラスタリング: Dirichlet Processing Clustering 観測データが異なる確率分布(ガウス分布/ディリ クレ分布)の混合分布であると仮定。個体が属する クラスを隠れ変数を推定する。データの発生メカ ニズムが確率モデルでうまくモデル化できるとき、 強力な手法。 Canopy 指定距離の範囲[D1, D2]内のデータ点セットを抽 出する:K-meansの初期重心算出で用いられる。 Mean Shift 密度増加が最大半径で各クラスタ算出:指定距離 範囲でクラスタリング半径を順次増やしていく。 Spectral Clustering (Eigencut) 類似度グラフの分割によるクラスタリング 45
  • 46. AGENDA ◆自己紹介 ◆Mahoutとは ◆Clustering ◆Mahout Clustering ◆Mahout k-means ◆参考資料 ◆最後に
  • 48. k-means: 最も単純なアルゴリズム (E.W. Forgy 1965) ①データセットの中からK個のクラスタの 代表点 c1,c2,…,cKをランダムに選ぶ 例) データ数 N=5,クラスタ数 K=2 3 4 c2 × c1 2 5 1× 48
  • 49. k-means: 最も単純なアルゴリズム (E.W. Forgy 1965) ①データセットの中からK個のクラスタの 代表点 c1,c2,…,cKをランダムに選ぶ ②各データ x に対し、 ciとの距離を測り 最も距離の短い ci に対するに対する クラスタを xのクラスタに設定する 評価関数(最小化問題) 例) データ数 N=5,クラスタ数 K=2 3 3 3 4 4 c2 4 c2 c2 × c1 × c1 × c1 × 2 5 2 5 2 5 1× 1× 1 49
  • 50. k-means: 最も単純なアルゴリズム (E.W. Forgy 1965) ①データセットの中からK個のクラスタの 代表点 c1,c2,…,cKをランダムに選ぶ ②各データ x に対し、 ciとの距離を測り ③各クラスタの平均値(重心)を 最も距離の短い ci に対するに対する クラスタの代表点とする。 クラスタを xのクラスタに設定する (K個の平均値がクラスタを代表) ※各データ x のクラスタが変化しなくなるまで繰り返す 評価関数(最小化問題) 例) データ数 N=5,クラスタ数 K=2 3 3 3 3 4 4 c2 4 c2 4 c2 c2 × × c1 c1 × c1 × c1 × × 2 5 2 5 2 5 2 5 1× 1× 1 1 50
  • 51. Mahout K-means の実行手順 K-meansジョブの データのVectorクラスのリスト作成 実行 ファイル書き出し 出力結果の読み込み 初期のクラスタ重心のリスト作成 ファイル書き出し 51
  • 52. Mahout K-means の実行手順 実際の実装法を見ていきましょう (ソースコード抜粋) ■全ソースコードは以下の場所に公開しています [mahout] Mahout Programming : K-Means Clustering http://d.hatena.ne.jp/hamadakoichi/20100718/p1 ■Mahout導入手順 [mahout] Mahout 導入手順 http://d.hatena.ne.jp/hamadakoichi/20100703/p2 52
  • 53. Mahout K-means の実行手順 データ表現: org.apache.mahout.math Interface 内容 Vector データ点表現のインターフェース Class 内容 DenseVector Vector のdoubleの配列での実装 K-means実行: org.apache.mahout.clustering.kmeans.KMeansDriver Class 内容 Cluster クラスタを表現 KMeansDriver K-meansジョブを実行する 距離算出法 指定: org.apache.mahout.common.distance Interface 内容 DistanceMeasure 2点間の距離算出法のインターフェース Class 内容 CosineDistanceMeasure コサイン距離での実装 EuclideanDistanceMeasure ユークリッド距離での実装 … 他距離 (Manhattan, SquareEuclidean, ..etc) 53
  • 54. Mahout K-means の実行手順 K-meansジョブの データのVectorクラスのリスト作成 実行 ファイル書き出し 出力結果の読み込み 初期のクラスタ重心のリスト作成 ファイル書き出し 54
  • 55. Mahout K-means の実行手順 K-meansジョブの データのVectorクラスのリスト作成 実行 ファイル書き出し 出力結果の読み込み 初期のクラスタ重心のリスト作成 ファイル書き出し 55
  • 56. Mahout K-means の実行手順 1.入力データから Vectorクラスのリストを作成 ファイル書き出し データ点のVectorクラスのリスト作成 サンプルデータ iris(アヤメ)データ:よい性質を持ち よく使用される (R環境で標準提供されている) 花葉 花びら Iris Sanguinea 56
  • 57. Mahout K-means の実行手順 1.入力データから Vectorクラスのリストを作成 ファイル書き出し データ点のVectorクラスのリスト作成 ファイル書き出し 57
  • 58. Mahout K-means の実行手順 K-meansジョブの データのVectorクラスのリスト作成 実行 ファイル書き出し 出力結果の読み込み 初期のクラスタ重心のリスト作成 ファイル書き出し 58
  • 59. Mahout K-means の実行手順 2.初期クラスタの作成 ファイル書き出し 初期クラスタのClusterクラス作成(Vectorデータ点を指定) ファイル書き出し 59
  • 60. Mahout K-means の実行手順 K-meansジョブの データのVectorクラスのリスト作成 実行 ファイル書き出し 出力結果の読み込み 初期のクラスタ重心のリスト作成 ファイル書き出し 60
  • 61. Mahout K-means の実行手順 3.K-meansの実行 K-meansのパラメータを指定し実行する runJob(java.lang.String input, java.lang.String clustersIn, java.lang.String output, Java.lang.String measureClass, double convergenceDelta, int maxIterations, int numReduceTasks) input – 入力データのディレクトリパス名 clustersIn – 初期クラスタのディレクトリ名 output – 出力データのディレクトリパス名 measureClass – 距離クラス convergenceDelta - 収束閾値 maxIterations – 最大繰り返し数 numReduceTasks – reducer数 61
  • 62. Mahout K-means の実行手順 K-meansジョブの データのVectorクラスのリスト作成 実行 ファイル書き出し 出力結果の読み込み 初期のクラスタ重心のリスト作成 ファイル書き出し 62
  • 63. Mahout K-means の実行手順 4.出力結果の読み込み クラスタリング結果(クラスタID)の読み込み 結果形式 key Value データ点(Vector)のkey ClusterId 63
  • 64. Mahout K-means の実行手順 試しに クラスタリング結果(クラスタID)を見てみる 結果の読み込み・コンソール出力 結果 64
  • 65. Mahout K-means の実行手順 K-meansジョブの データのVectorクラスのリスト作成 実行 ファイル書き出し 出力結果の読み込み 初期のクラスタ重心のリスト作成 ファイル書き出し 65
  • 66. AGENDA ◆自己紹介 ◆Mahoutとは ◆Clustering ◆Mahout Clustering ◆Mahout k-means ◆参考資料 ◆最後に
  • 67. 参考資料:クラスター分析 http://www.slideshare.net/hamadakoichi/webr-r http://www.slideshare.net/hamadakoichi/r-3754836 http://www.slideshare.net/bob3/cfakepathtokyo-webmining3-201004 http://www.slideshare.net/guestbe53f7/kenshin
  • 68. 参考資料:Mahout/Hadoop/Recommendation http://www.slideshare.net/karubi/web-mining-0620 http://www.slideshare.net/yanaoki/hadoop-4683332 http://www.slideshare.net/hamadakoichi/ss-4552939 http://www.slideshare.net/hamadakoichi/ss-4113135
  • 69. 参考資料: ■ Apach Mahout http://mahout.apache.org http://cwiki.apache.org/MAHOUT http://cwiki.apache.org/confluence/display/MAHOUT/Algorithms http://www.slideshare.net/gsingers/intro-to-apache-mahout ■ Mahout In Action (Manning Early Access Edition) http://www.manning.com/owen/ 69
  • 70. 参考資料: 集合知イン・アクション 集合知プログラミング 70
  • 71. AGENDA ◆自己紹介 ◆Mahoutとは ◆Clustering ◆Mahout Clustering ◆Mahout k-means ◆参考資料 ◆最後に
  • 72. 最後に 蓄積されたデータを有効活用してきたい 72
  • 73. 最後に 蓄積されたデータを有効活用してきたい Google Group: http://groups.google.com/group/webmining-tokyo 73
  • 74. 最後に データマイニング+WEB勉強会 発表者を募集しています 連絡 Google Group: http://groups.google.com/group/webmining-tokyo Twitter : http://twitter.com/hamadakoichi 74
  • 76. AGENDA ◆自己紹介 ◆Mahoutとは ◆Clustering ◆Mahout Clustering ◆Mahout k-means ◆参考資料 ◆最後に
  • 78. 階層的手法:アルゴリズム ①各データが自身をクラスターと考え データ数のクラスターを作る ②クラスタ間の距離を測り クラスタ間の距離行列を作成する ③最も距離の近いクラスタを併合する ④クラスタ間の距離行列を作成する ⑤最も短い距離のクラスタを併合する ※ひとつのクラスタになるまで繰り返し 78
  • 79. 階層的手法:手法とクラスタ間距離 各手法のクラスタ間距離 クラスタリング手法 クラスタ間距離 群平均法 クラスタ間の全てのデータ組合せの距離の平均値 (Group Average method ) 単連結法 クラスタ間の最小距離を与えるデータ対の距離 (Single Linkage Method ) 完全連結法 クラスタの最大距離を与えるデータ対の距離 (Complete Linkage Method) ウォード法 クラスタ内の平方和の増加分 (Ward Method) 重心法 クラスタの重心間の距離の自乗 (Centroid Method) メディアン法 重心法と同じ。クラスタ併合時に、新たな重心を元の (Median Method) 重心の中点にとる。 79