情報系音ゲーマーの手記

Splatoon2とかDDRとか

続・Pythonでクラスタリングをしようとした話

タイトルの通り前回の記事(↓)の続きとなります。

eiki1253.hatenablog.com

 

前回の課題として挙げていたのは

セントロイドがわからない

・線分が更新できない

・キーボード入力がめんどくさい

の3つだったわけですが、上2つは適当にコードいじったら一応実装できました。

その成果をご覧ください。

 

クラスタ数に10を指定した時の最終的な分布↓

f:id:eiki1253:20161109140233p:plain

 

前回から更新したところ

・セントロイドを☆印に

・セントロイドと各クラスタ内の点を結ぶ線分の追加

・背景をちょっと薄く

ってとこですかね。

 

自分で作っといてなんですが…

線分が全部同じ色で見辛い…

 

本当なら線分も色分けしたかったんですけど

クラスタ→pyplotというモジュールのscaterを利用

線分  →pyplotというモジュールのplotを利用

って感じで2つで使ってるやつが違うんですよね。

 

前者はcmapっていうので自由に色を決められるようになってるんですが、後者は調べた限りではcmapの機能がなくクラスタの方に色を合わせられないってのが原因になってます。

 

なんか改善方法はないかな〜と悩んでるといったところで今回はおしまい。

ちゃんちゃん。

pythonでクラスタリングをしようとした話

ホモは嘘つき

 

この頃pythonでコードを書くのが楽しくなってきてます。

新しい言語を使い始めたときによくあるアレですね。

…よくあるだろ☆よくあるって言えよ☆

 

 

本題へ。

某アレでクラスタリングのプログラムを作りました。

作ったのはいいんですが、現在の仕様の結果が次のようになってまして…

f:id:eiki1253:20161107183630j:plain

見ればわかる通り、色分けは一応できてるんですけど

・どれがセントロイドかわからない

・セントロイドと各ノードの線分が無い

(・自動更新ではなくキーボード入力で更新)

って部分が若干なんだかな〜って感じ。

 

それぞれの試行錯誤の軌跡としては

・セントロイドがわからない→セントロイド配列に格納されてる座標だけ大きくしようとする予定

・線分→線分が更新できなくて詰み、一回消すとグラフ含めで全部消える

・キーボード入力→もうこれでいいや

 

って感じになってます。

まあ、期限が割と厳しいのでこのまま提出すると思いますがね。

 

以上ですですデスクリムゾン