[プログラム・コード公開] コピペだけで11の見える化・可視化手法を一気に実行して結果を比較する! (Python言語)
[New] 実業家として有名な堀江貴文さん(ホリエモン)のメルマガ[Vol.359]における副業紹介において、このプログラム・コード販売が、なんと 1番 に紹介され評価していただきました!
こんにちは!大学教員ブロガーのねこしです。http://univprof.com/
仕事や研究において、多次元・多変量のデータセットの内容を把握するため、まずデータセットを可視化する方もいらっしゃいます。データの可視化を行うに、いくつかの可視化手法を実行して、それらの結果を確認することがよい理由についてはこちらに書きました。
http://univprof.com/archives/17-02-21-12639621.html
しかし、可視化する方法はわかっても、実際に可視化ができるようになるわけではありません。ネットや本でプログラミングを説明しているものはありますが、データの読み込み方とか結果の出し方とか、他にも調べてやらなくちゃいけないこと、多いんですよね・・・。手間と時間がかかります。
そこで、すぐに11の見える化・可視化手法を一気に実行して結果を比較できるプログラムを作りました。Python言語で実行ができます。
11の可視化手法はこちらです。
■主成分分析 (Principal Component Analysis, PCA):線形の可視化手法であり、データセットのばらつきが大きい方向に新たな軸を作ることで、少ない軸でより多くの情報を表現できる。
■カーネル主成分分析 (Kernel Principal Component analysis, KPCA):PCAとカーネル関数を組み合わせた非線形の可視化手法。本プログラムではガウシアンカーネルを使用。カーネルの行列(グラム行列)の分散が最大になるようにRBFカーネルのパラメータの値を選択。
■因子分析 (Factor Analysis, FA):各変数の線形結合で表されるデータセットの共通因子を抽出する手法。
■多次元尺度構成法 (Multi Dimensional Scaling, MDS):すべてのサンプル間で計算された距離の行列に基づいて、その距離関係がなるべく成り立つように二次元にサンプルを写像する手法。距離としてユークリッド距離を使用。
■Isometric Mapping (Isomap):MDSではすべてのサンプル間で距離を計算したが、Isomapでは近傍のN個のみのサンプル間のみの距離の計算とすることで、局所的な構造を可視化。N=5としてあるが変更も可能。
■Locally Linear Embedding (LLE):あるサンプルが、その近傍のN個のサンプルの線形結合で表現できるとか仮定し、その線形結合の重みが写像先でも一致するように二次元マップを作る。N=5としてあるが変更も可能。
■Modified LLE (MLLE):LLEに正則化項を取り入れた手法。N=5としてあるが変更も可能。
■Hessian-based LLE (HLLE):MLLEと同様にLLEの正則化問題を回避した手法。N=10としてあるが変更も可能。
■Spectral Embedding (SE):サンプル間の隣接行列をスペクトル分解することで可視化する手法。k最近傍法により隣接行列を計算。k=5としてあるが変更も可能。
■Radial Basis Function-based SE (RBFSE):隣接行列の作成にRadial Basis Function (RBF)を使用したSE。カーネルの行列(グラム行列)の分散が最大になるようにRBFカーネルのパラメータの値を選択。
■t-distributed Stochastic Neighbor Embedding (tSNE):非線形の可視化手法。見える化・可視化したいデータセットがあり、それを二次元マップ上で確認することが目的。Perplexityを30にしてあるが変更も可能。
データ形式・必要なソフトウェア
以下の記事に示す形式のデータさえ準備すれば、Python言語で11の可視化手法を一気に実行することが可能です。
https://note.mu/univprof/n/n694487325cb1
Python言語のために必要なソフトウェアは以下の記事をご覧ください。
https://note.mu/univprof/n/nb07629b23252
実行結果
実行結果を下に示します。最後に以下のcsvファイルが同じディレクトリ(フォルダ)に保存されます。
■ScoreAll.csv ・・・ それぞれの可視化手法における各サンプルの二次元座標
このプログラムからスタートしてさらにプログラミングを進めたいと考えている方にもぜひ利用していただければと思います。
プログラム公開
ここまでお読みいただきありがとうございます。
Python言語のプログラムは有料コンテンツとします。ただこれにより、こちらに記載した複数の可視化手法をすぐに実行できます。
http://univprof.com/archives/17-02-21-12639621.html
こちらからプログラムのzipファイル自体はダウンロードできます。
http://univprofblog.html.xdomain.jp/code/visall_analysis_all_e_python_pass.zip
購入していただくと解凍のためのパスワードがありますのでそちらをご利用ください。
またこちらのzipファイルに必要なスクリプトと関数があります。パスワードはかけていません。購入後に使い方の説明があります。
http://univprofblog.html.xdomain.jp/code/supportingfunctions.zip
すべて動作保証ずみですのでご安心ください。上のデータ形式に合わせていただければ、どんなデータにも使えるプログラムです。このプログラム一つでいろいろなデータを解析することができ、余裕で元が取れます。ご不明点などありましたら遠慮なくこちらに連絡をください。迅速に対応します!
http://ask.fm/univprofblog1
ここから先は
¥ 9,800
この記事が気に入ったらサポートをしてみませんか?