編集部からのお知らせ
記事まとめ「サードパーティークッキー問題」公開
記事まとめ読み:GIGAスクール
データサイエンティスト講座

何を読み取るのかが重要--統計言語「R」でクラスター分析 - (page 3)

伊藤徹郎(ALBERT)

2014-08-18 07:00

「非階層クラスター分析」とは

 非階層クラスター分析とは、異なる性質のものが混ざり合った集団から、互いに似た性質のものを集め、クラスターを作る1つの方法です。階層クラスター分析とは異なり、階層構造を持たず、あらかじめいくつのクラスターに分けるかを決定し、決めた数のクラスターにサンプルを分割する方法です。具体的には下記のようなイメージです


※ALBERTより提供

K-means法とは

 K-means法とは、データマイニングの中でもよく用いられる手法で、クラスターの平均を用いて、与えられたクラスター数をK個に分割することから、名づけられました。

 K-means法を利用すると、従来のセグメンテーションよりも柔軟なセグメントが可能になるので、そこに対して細やかなアクションが取れるようになります。

 具体的なアルゴリズムをかいつまんで説明すると、下記のような工程です。

  1. 各点にランダムにクラスターを割り当てます
  2. クラスターの重心を計算します
  3. 点のクラスターを一番近い重心のクラスターに変更します
  4. 変化が起こらなければ終了(収束)です。変化がある場合は2に戻ります

 上記の工程を経ることで、前述したクラスター分析のイメージ図のように分類することができます。この計算について、なぜこうなるのかはこちらを参照ください。

RでK-means法を実行する

 RでK-means法を実行することは非常に簡単です。なぜなら、K-means法を実行するための関数kmeans()がすでに標準で搭載されているからです。

 この関数は以下の通りです。

kmeans(x, centers, iter.max = 10, nstart = 1, 
    algorithm = c("Hartigan-Wong", "Lloyd", "Forgy", "MacQueen"))

 上記の関数の中の引数を設定することで、分類したいデータをK-means法を用いてクラスタリングを実施することができます。設定する引数(関数を定義する際に用いられる変数)について、少し解説をしておきましょう。

  • x:クラスター分析を実施したいデータセット
  • centers:クラスター数Kを指定します(以下は任意の設定引数です)
  • iter.max:くり返し計算の最大回数です。デフォルトは10となっています
  • algorithm:利用するアルゴリズムを上記の4つから選択できます。

 (デフォルトではアルゴリズムに"Hartigan-Wong"が設定されており、最もよい結果を出すと知られています)

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

関連記事

特集

CIO

モバイル

セキュリティ

スペシャル

ホワイトペーパー

新着

ランキング

  1. 運用管理

    最先端のデータサイエンティストでいるための5つのヒント—AIによる高度化でデータの達人であり続ける

  2. ビジネスアプリケーション

    経理部門 554人に聞いた「新しい経理部門の働き方」 その実現に向けた具体的な行動指針を解説

  3. セキュリティ

    パンデミックに乗じたサイバー攻撃に屈しない 最新の脅威分析レポートに見る攻撃パターンと対応策

  4. 運用管理

    DX時代にIBM i は継続利用できるのか? モダナイゼーション実施で考えておくべき5つの視点

  5. セキュリティ

    サイバー攻撃でPCに何が起きている? サイバーディフェンス研究所の名和氏が語るフォレンジックのいま

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]