以下が上記コードの実行結果です。先ほど自作したnumpy版の結果とほぼ一致した結果を得ることができました(データはランダム生成なので若干違うのは仕方ない)。k-means法はデータが広く分布(分散が大きい)しているとうまくクラスタリングしてくれないような結果ですね。これを解決する別のアルゴリズムとかもあるのかな?Twitterでは混合ガウスモデルはどうか?とアドバイスを頂きました!別手法についてはまたの機会にまとめようと思います!まとめ本ページでは教師なし学習の1つであるk-means法によるクラスタリングの概要を説明しました。説明にはライブラリを利用するだけでなく、あえてnumpyで2変数の場合のクラスタリングを実装してみることで理解を深めることに挑戦しました。実際にコーディングし、動画でk-means法のプロセスを眺めているとどのような変化をしているのかが一目瞭然でした。最後にscikit-learnによるk-means法のコードも紹介し、ライブラリを使うことで非常に効率的なコーディングができるということも体感しました。教師なし学習SNSでもご購読できます。技術系の職に就き日々実験やシミュレーションを使う仕事をしています。このブログでは初心者が科学技術プログラムを作れるようになることを目標に、学習結果を記録していきます。*メールアドレス(公開はされません。*次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。