静かなる名辞

pythonとプログラミングのこと



ランダムフォレスト

【python】ランダムフォレストのOOBエラーが役に立つか確認

はじめに RandomForestではOOBエラー(Out-of-bag error、OOB estimate、OOB誤り率)を見ることができます。交差検証と同様に汎化性能を見れます。 原理の説明とかは他に譲るのですが、これはちゃんと交差検証のように使えるのでしょうか? もちろん原理的に…

【python】ランダムフォレストのチューニングにOOB誤り率を使う

一般的な機械学習のアルゴリズムでは、パラメタチューニングにはグリッドサーチ・交差検証を組み合わせて使うのが割と普通だと思います。sklearnにはそれ専用のGridSearchCVというクラスまで用意されています。 実際問題としては、GridSearchは良いとしても…

ランダムフォレストとSVMの使い分け

ランダムフォレスト(RandomForest)とSVM(Support Vector Machine)はよく比較される分類器です。でも、様々なシチュエーションで、けっきょくどちらを使うべきなのか、という指針はあまり見かけません。 私は研究などで*1両者を使ってきて、それなりに両者…

【python】RandomForestの木の本数を増やすとどうなるか?

RandomForest(ランダムフォレスト)には木の本数という重要なパラメータがある。slearnのデフォルトは10だが、実際に使うときは1000以上にしてやらないと良い性能が得られないということをよく経験する。 これを大きくすることで、一体どんな効果が得られる…

【python】sklearnのfetch_20newsgroupsで文書分類を試す(3)

前回はとりあえずベースラインの分類を行い、F1値にして0.7くらいの性能を得た。 ここで自然言語処理的なアプローチで手法の改良に進むのもありだと思うが、とりあえずmin_dfをパラメタチューニングしてみるか、という方向に傾いている。前回は恣意的に決め…

【python】sklearnのfetch_20newsgroupsで文書分類を試す(2)

前回の続きをやっていく。とりあえず今回は簡単な方法で分類してみて、ベースラインを作ることにする。 特徴を捨てる 分類する まとめ 次回 何はともあれ、文書から特徴抽出してベクトル化しないと話にならない。ベースラインなのでBag of Wordsを使うことに…

【python】ランダムフォレストの特徴重要度で特徴選択を試す

最終更新:2018-04-02 はじめに RandomForestでは特徴重要度を計算できる、というのは結構有名な話です。では、これはどの程度実用的なのでしょうか? pythonのsklearnを使い、簡単に実験して確かめてみました。 目次 はじめに 実験条件 実験 実装 気を配っ…