botabotashiの日記

データサイエンティストを目指すコンサルタントの備忘録

クラスタリングの概要・活用方法と注意点

はじめに

 本日は,教師なし学習のひとつであるクラスタリングを活用方法と注意点を紹介する.

目次

  クラスタリングとは?
  クラスタリングを使う場面
  実施する時の注意点
  分析手順
  階層型 VS 非階層型
  代表的な手法一覧

参考書籍

 1. 自然言語処理のための機械学習入門
 2. 初めてのパターン認識

クラスタリングとは?

 正解データがない(説明変数のみの)状況で,入力データをいくつかのクラスタに分けること.
 

クラスタリングを使う場面

 1. 取得した大量のデータについて,大雑把にカテゴリ分けをしたいとき.
 2. とりあえずデータを突っ込んで,何か見えたらうれしいなってとき.

実施する時の注意点

 1. あらかじめクラスタが特定されていない.入力データを似たものでまとめた結果がクラスタである.
   クラスタ数を理論的に決める方法を研究する動きはあるが,結局目的次第である.
 2. クラスタリングした結果は科学的な根拠はない.あくまで入力したデータの側面でカテゴライズした結果である.
   つまり,客観的な証拠とはなりえない.

分析手順

 1.分析の目的を決める .
 2.階層型か非階層型かを決める.
 3.階層型の場合,(1)データ間の距離,(2)クラスタ間の距離,を決める.
 4.分析

階層型 VS 非階層型

 1.階層型
  (1)バラバラのデータから,似ている順でまとめていく方法.似ていることを評価するために「距離」という概念を用いる.
  (2)距離とは,データ間の「類似度」および「非類似度」を表す.距離を考える際に,「データ間の距離」と「クラスタ間の距離」の2つを考える必要がある.
  (3)あらかじめクラスタ数に検討がつかない場合に使用することが多い.

 2.非階層型   (1)あらかじめ決めたクラスター数になるようにデータをまとめていく手法

代表的な手法(仔細は別途記事にまとめる予定)

 1. 階層構造
  (1)単連結法
  (2)完全連結法
  (3)超距離
  (4)群平均法
  (5)ウォード法
  (6)中心法
  (7)メディアン法

 2. 非階層構造
  (1)k-means
  (2)EMアルゴリズム(混合ガウス

最後に

  本記事は,クラスタリングの概要を説明した.データが手元にあるが正解がわからないときにとりあえず分類してみる,といった時に使用できる方法である.
 次回は,「代表的な手法」に記載した手法を紹介する.

ブログを始める目的

はじめまして!

データ分析を売りにする会社で働くbotabotashiと申します.
訳あって現在はコンサルタント寄りの仕事(プロジェクト管理等)を主に担当しております.仕事をする中で,最近特に「文章を書く」ことのスキルが足りないと痛感しております.よって,文章を書く訓練の機会としてブログを始めることにしました.(また,仕事で分析をあまりしないので,分析にまつわる知識を整理したいなぁと最近思っています.)
仔細は以下の通り.  

最近思うこと(2019年12月~2020年4月)

 1. コンサルとして覚えることは多いけど,自分は特に文書作成が苦手.自分の書いた文書が,相手に全然伝わらない.
   (過去に,自分が作成した資料を上司に提出したが,3秒で呼び出しを食らったことも...)
 2. データ分析会社に入社したが,果たして分析に必要な知識が身についたのか疑問に思う.

ブログを書く目的

 1. 定期的に文章を作成する機会を増やす.
 2. データ分析に必要な統計学機械学習クラウド技術として,知識の獲得及び整理をする.

ブログに書くこと

 学んだ分析手法をpythonを用いて実装した結果.
 クラウド技術の調査結果,試したこと.
 その他,興味が湧いたこと.

文章作成,分析知識ともに未熟な点が多いと思います   お気づきのことがあればご指摘いただけますと幸いです.
これからよろしくお願いします.

(追伸) 早速,Markdown記法でつまずいたため,以下のサイトを参照した.
MarkDown記法 - Qiita