世界中のUFO目撃情報をk-mean法でクラスタリング

先に言うとデータの外れ値が邪魔で思ったような結果にはなりませんでした。

やりたかったこと

KaggleにUFOの目撃情報の自由に使えるデータセットがある!

やったこと

使って何かしたかったので、機械学習で教師なし学習をさせてみた。
k-mean法というクラスタリングの手法を使った。

やり方

pandasでKaggle上のcsvを読み込んで、pandasで整形して、sklearnで学習させた。
データは80000件ほどあったのに、読み込みは一瞬で終わった!

結果

gist.github.com

f:id:hiroga_cc:20171209223720p:plain
UFO目撃情報(緯度、経度、継続目撃時間)

グラフ中の緑色の点はゴミデータ。参ったな...。

分かったこと

  • データの正規化が大事。(ここでの正規化はゴミデータを除外する、の意)
    例えば今回は、80000件のデータの中に3件数字列に文字が入っているものがあり、それが邪魔になった。
  • まずはプロットしないと始まらない。
  • k-meanは外れ値にすこぶる弱い。標準偏差とか使って外れ値をどかす方法があるっぽい。