2016-11-18_6-46-29_No-00

こんにちは!大学教員ブロガーのねこしです。

データ分析・解析に関して、いろいろな質問をいただきます。その中でもたくさんいただく質問の一つは、

回帰分析とかクラス分類とかするときに、与えられたデータセットに対して適した手法をどのように選べばよいですか?

というものです。回帰分析においてPLSがよいのか、LASSOがよいのか、SVRがよいのか、・・・、クラス分類においてLDAがよいのか、決定木がよいのか、SVMがよいのか、・・・ということです。

もちろん、データセットごとに適した手法はあると思います。望ましいのは、データが与えられたら、適した手法のみ使うことかもしれません。しかし、どんなにデータ分析・解析の熟練者でも、与えられたデータセットに適した手法を毎回100%の確率で選ぶのは不可能です

なので、とりあえず全部やってみましょう!

回帰分析だったらPLSもLASSOもSVRも、クラス分類だったらLDAも決定木もSVMも、知っている手法を全部やってみるんです。

面倒?そんなことはありません。ちゃんとプログラミングをすれば、手法の数だけ時間がかかるだけで人の手間はほとんど変わりませんん。面倒なことはパソコンに任せるわけです。このあたりについてはこちらもご参照ください。

http://univprof.com/archives/16-11-18-8441710.html

具体的な方法論はこちら。

https://note.mu/univprof/n/n4175165e4205

ただ、このように数多くの計算をすると、すべての計算が終わった後に、結果を評価することがとても重要となります。基本的には ”よい” 結果を出した手法を選べばよいのですが、何をもって ”よい” とするかが大切なわけです。これはデータ分析・解析の目的によって変わります。

たとえば、予測精度の高い結果が ”よい” ことを目指しているのであれば、たとえば (モデル構築用データセットではない) モデル検証用データセットの推定性能とか、ダブルクロスバリデーションの結果などを利用するとよいです。

他にも、解釈可能なモデルが”よい”ということであれば、他にも判断指標があります。

このように、すべて計算してから、それらの結果を評価して、適した結果を選ぶわけです。こうすることで、データセットが変わっても、同じ方法論・同じプログラムで、データ分析・解析することができます。

たくさんの回帰分析を一気に行うプログラム公開中!

上のように全部の回帰分析を一気に実行するプログラムはこちらにあります。noteでもSPIKEでもAnyPayでも言語が同じであれば同じものです。

MATLAB言語(note): https://note.mu/notes/n4f7fd7cef774

MATLAB言語(SPIKE): https://spike.cc/shop/univprof/products/qu0UGmHi

MATLAB言語(AnyPay): https://anypay.jp/shops/GpeTLMrcxv/rnekMFjwpY

R言語(note): https://note.mu/notes/n58399e0a9471

R言語(SKIPE): https://spike.cc/shop/univprof/products/DoC2V0Nu

R言語(AnyPay): https://anypay.jp/shops/GpeTLMrcxv/6acMz8vR7t

Python言語(note): https://note.mu/univprof/n/n7d9eb3ce2c74 

Python言語(SPIKE): https://spike.cc/shop/univprof/products/ntImmpee

Python言語(AnyPay):

https://anypay.jp/shops/GpeTLMrcxv/FY7MK1JlXg

たくさんのニクラス分類を一気に行い、ダブルクロスバリデーションで評価するプログラム公開中!

こちらは二クラス分類です。全部を一気に行いダブルクロスバリデーションでモデルの評価を実行するプログラムです。noteでもSPIKEでもAnyPayでも言語が同じであれば同じものです。

MATLAB言語(note): https://note.mu/univprof/n/nb146f98d9708

MATLAB言語(SPIKE): https://spike.cc/shop/univprof/products/B76FKWVn

MATLAB言語(AnyPay): https://anypay.jp/shops/GpeTLMrcxv/1aq4DzwYZW

R言語(note): https://note.mu/univprof/n/nc81d5e54b395

R言語(SKIPE): https://spike.cc/shop/univprof/products/hRdMYZIa

R言語(AnyPay):

https://anypay.jp/shops/GpeTLMrcxv/LipDyBuxz2

Python言語(note): https://note.mu/univprof/n/n38855bb9bfa8 

Python言語(SPIKE): https://spike.cc/shop/univprof/products/cfxoGC5n

Python言語(AnyPay): https://anypay.jp/shops/GpeTLMrcxv/hQMWaxelvd

たくさんの多クラス分類を一気に行い、ダブルクロスバリデーションで評価するプログラム公開中!

こちらは多クラス分類です。全部を一気に行いダブルクロスバリデーションでモデルの評価を実行するプログラムです。noteでもSPIKEでもAnyPayでも言語が同じであれば同じものです。

MATLAB言語(note): https://note.mu/univprof/n/n5905c101b808

MATLAB言語(SPIKE): https://spike.cc/shop/univprof/products/JY5smare

MATLAB言語(AnyPay):  https://anypay.jp/shops/GpeTLMrcxv/EXhrvH1NE3

R言語(note): https://note.mu/univprof/n/nf28c6196b1b7

R言語(SKIPE): https://spike.cc/shop/univprof/products/PLyY9emf

R言語(AnyPay): https://anypay.jp/shops/GpeTLMrcxv/aNmAFe4NaO

Python言語(note): https://note.mu/univprof/n/n6eb78bc394bb

Python言語(SPIKE): https://spike.cc/shop/univprof/products/Xq5YMtQr

Python言語(AnyPay): https://anypay.jp/shops/GpeTLMrcxv/ptEjp1NL6j

データ解析の質問 募集中!

こちらへお願いします!

ご案内。

オススメ記事セレクション。

twitterでも発信中。

この記事に興味を持っていただけましたら、ぜひフォローをお願いします!


無料メルマガでブログにない情報を配信中。

データ解析・分析に興味がありましたらぜひ登録をお願いします!
無料メルマガの登録はこちら

事前に適した手法を選ぶという余計な心配をしなくてよくなります。