Udemyのデータサイエンティスト講座 ークラスター分析

今回はUdemyの講座からお届け。

f:id:kawam0t0:20200524190606p:plain

かなりボリュームのある講義だけど、
とてもためになってる。
特に標準化の手法や、クラスタリング
線形回帰の手法もとても分かりやすい。


海外でも人気の講座を日本語訳にしてくれたものです。


では、今日は主に、クラスター分析についてアウトプット。

クラスター分析って?

クラスター分析とは、似ている者同士は同じものとして、似ていない者同士は離れて把握し、グループ分けを行う。
ということ。

特に確認分析を行うときや、イメージセグメンテーションをするときに効果的。
散布図とかでよくやったりするよね。

分類とクラスタリングの違いは、教師ありか教師なしかの違い。
教師ありの場合は正解ラベルが用意されているが、クラスタリングの場合は、
自動でグループ分けを行う。ただし、何個に分けるのか?はこちらで決めなければならない。

クラスター分析の流れ

とても分かりやすい。

①まず、ユークリッド距離という、点と点を結んだ距離を測る。(赤線)
f:id:kawam0t0:20200524190552p:plain

②それぞれの点からこのユークリッド距離が短いシードに点を打っていき、それを繰り返す。

③さらに、点と点の真ん中(重心)を求めていって、その重心にシードを移動させる。

④その②~③を何回か繰り返して、クラスタリングを行う。


しかし、ここで問題がある。
クラスターの求めかたはわかったが、いくつ、クラスターを用意すればよいのか??
この疑問についてはwcssという手法がある。


WCSSについて

これは、クラスターを何個、持ってきたらいいのか?ということをばっちりではないが、ある程度教えてくれる奴。
方法としては、エルボー法、とか言ったりするけど、WCSSって言ったほうがかっこいいよね。

wcss = []
for i in range(1,10):
    kmeans = KMeans(n_clusters=i,random_state=0)
    kmeans.fit(x_scaled)
    wcss_iter = kmeans.inertia_
    wcss.append(wcss_iter)

f:id:kawam0t0:20200524191153p:plain


このコードと図を確認頂くのが早いかな。
明らかに、下がり方が緩やかになっている部分(kの図で言うと、4とか5当たり)があるけれど、
ココが実は最適なクラスターの数であったりする。

これを目安にしていくとOK。

K-近傍法の注意点

ここからはK-近傍法の注意点について。
コードもわかりやすく、かなりシンプルに行えるのだが、
①外れ値はしっかり除去してね
②標準化すべきかどうかは吟味が必要

の2点については注意が必要。
特に標準化については、
目的変数に対して、重要な指標である説明変数があり、なおかつ、その説明変数の値があまりにも離れている場合がある、等、
自分で確認をしなくてはいけない部分になる。

とはいえ、
色々なモデルを構築してく上で、個人的にはとても勉強になった。


では、また!