データサイエンティスト講座

何を読み取るのかが重要--統計言語「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 記事を毎朝メールでまとめ読み(登録無料)

関連記事

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

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

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

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

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

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