Kmeansに関する豆知識①
こんにちは!EMです^^
最近トロントは晴れの日が多くなって、一歩一歩春に近づいています!
やっぱり暖かいと気分も晴れますね♪
それではさっそく、前回からのKMeansシリーズの続きとして
より深くKMeansを考察していく豆知識的な内容を学習していこうと思っています!
前回では、このような内容を話しておりました↓
machinelearningforbeginner.hatenablog.com
その続きの話を今回付け加えようと思います。
適合性を評価する方法
前回の内容の最後の適合は、かなりセンターがずれていて不自然でした。
KMeansモデルを適合する場合、実は裏で計算式が働いています。
各ポイントとそれに割り当てられたクラスター中心との間の
二乗距離の合計を最小化する狙いがあるのです。
公式をいうと、d個の特徴があり、xがデータポイントで
xは最も近いセンターである場合、xをクラスcに割り当てる事ができます。
そしてxとc、2つの間の距離は次のようになります。
その場合、適合の合計スコアは次の合計になります。
x 'は全てのデータポイント
c'はそれに割り当てられた(または1番近い)クラスターのセンターの事です。
目標は、この距離を最小化することです。
ただ、実際には距離を最小化するセンターを見つけることは非常に難しいです。
それに伴い、いくつかの良さげな研究アプローチがあるので見てみましょう。
フィットの実際の距離スコアはinertia_
変数に格納され
次のように慣性値を取得できます。
※慣性…物体が常に現在の運動状態を保とうとする性質のこと
Data Scale
KMeansは距離ベースのモデルです。
その為、データの規模が大きな影響を与える可能性があります。
2点間の距離は次のとおりです。
私たちの機能が大きく異なった規模の場合、いくつかの機能の影響は取り除かれます。 その為、KMeansに渡す前にデータをスケーリングすることはよくあります。
Kを選ぶ方法(How to Pick K)
この章では、理想的なクラスターの数を見つける方法について説明します。
適切な数は非常に主観的に決まることが多いです。
いくつかのパターンを見てみましょう。
- カテゴリー従属変数があり、基礎となるクラスの数がわかるとしましょう。
この場合、Kを適切に設定できます。
例えば、がんに関するデータセットがある場合、2つのクラスである事が
わかっているため、2つのクラスターに適合させることができます。 - データを所定の数のクラスに分割していきたいと思います。
仮に小売のデータが手元にあり、分割したい場合は
顧客を事前に決定された数のタイプに分割し、この数をKに使用できます。 - 慣性値を使用して、セクションをガイドする事ができます。
次の3つのクラスターデータを試してみましょう。
3~4番目のドットの後で、値がかなり横ばいになっていると分かります。
これは、新しい重心が慣性をそれほど減少させていないことを意味します。
その為、クラスの理想的な数が3~4つであるといえでしょう。
これはあまり科学的ではありませんが、的を得た予測になる可能性があります。
どのように線引きをするのか決めるのは、難しい作業です。
その為、さらなるデータの判断材料や調査を行う事が重要になるでしょう。
長くなりそうなので、今回はここまでにします!
次回もKmeansに関する豆知識を引き続き解説していきたいと思いますが
もし効率的にプロから学びたい!という方は、専門の学校やレッスンを受ける事を
おススメしています^^
よかったら下の記事も参考にしてください^^
machinelearningforbeginner.hatenablog.com
最後まで読んで頂き、ありがとうございました!