web-dev-qa-db-ja.com

scikit-learnの「冗長」引数

多くのscikit-learn関数にはverbose引数があり、それらのドキュメントによれば、「[c]冗長性を制御します:高いほど、より多くのメッセージ」(例: GridSearchCV )。

残念ながら、どの整数が許可されているか(たとえば、ユーザーが詳細度を100に設定できるかどうか)のガイダンスは提供されていません。ドキュメントのどこにもこの情報はありません。

私の質問は、どの整数がどのレベルの冗長性にマップされますか?

22
Gyan Veda

Docstringが言うように、整数が大きいほど冗長度が高くなります。 verbosity = 100を設定できますが、verbosity = 10と同じになると確信しています。各整数の各推定量について正確に出力されるもののリストを探している場合は、ソースを調べる必要があります。私はほとんどの推定者が2つか3つのレベルの冗長性しか持っていないと思います、私は3以上があなたが得ることができる最も冗長だと思います。

17
Andreas Mueller

少し遅れるかもしれませんが、GridSearchをセットアップするときに同じ質問に出くわしたので、サブモジュールの最も深いところにあるdocstringでこれを見つけましたsklearn\externals\joblib\parallel.py

"詳細レベル:ゼロ以外の場合、進捗メッセージが出力されます。50を超えると、出力はstdoutに送信されます。メッセージの頻度は詳細レベルとともに増加します。10を超えるとすべての反復が報告されます。 "

さらに、 用語集 (「verbose」を検索)は次のように述べています。

"現在、Scikit-learnではロギングはあまり一貫して処理されていませんが、オプションとして提供されている場合、通常、詳細パラメーターを使用してロギングなしを選択できます(Falseに設定)。すべてのTrue値は一部のロギングを有効にする必要がありますが、完全な冗長性を得るには、より大きな整数(たとえば、10を超える)が必要になる場合があります。通常、詳細ログは標準出力に出力されます。推定者は、デフォルトの詳細設定で標準出力に出力を生成しません。 "

4
s6hebern