Scikit-learn: warnings.filterwarnings-これを行わないでください。 それは悪い行動です。

作成日 2018年08月10日  ·  3コメント  ·  ソース: scikit-learn/scikit-learn

# Make sure that DeprecationWarning within this package always gets printed
warnings.filterwarnings('always', category=DeprecationWarning,
module=r'^{0}\.'.format(re.escape(__name__)))

__init__.py経由

これは本当にかなり悪い振る舞いです。 本当にこれをしなければならないと感じたら、 append=Trueを使ってください

最も参考になるコメント

sklearnがカスタマイズされた警告構成を上書きする理由について詳しく教えてください。

append=Trueを追加しても、カスタマイズされていない警告構成を上書きすることはありません。

問題は、パッケージをインポートしても、アプリケーションのグローバル状態が影響を受けないことです。 また、ログ設定を変更するようなことをしてほしくない。

全てのコメント3件

これがアプリケーションにとってどのような問題であるかを詳しく説明していただけますか? コメントから、scikit-learn内のDeprecationWarningsのみ影響するように思われます。

(https://github.com/scikit-learn/scikit-learn/pull/6930の関連するディスカッションも参照してください)

sklearnがカスタマイズされた警告構成を上書きする理由について詳しく教えてください。

append=Trueを追加しても、カスタマイズされていない警告構成を上書きすることはありません。

問題は、パッケージをインポートしても、アプリケーションのグローバル状態が影響を受けないことです。 また、ログ設定を変更するようなことをしてほしくない。

append = Trueを追加すると、カスタマイズされていない警告構成が上書きされることはありません。

ソースからsklearnをインストールし、 sklearn.utils.__init__.py非推奨を手動で発生させてみました。 デフォルトの構成では、 python -c "import sklearn.utils"呼び出すときに予想どおりに警告が発生しました。 我々は追加の場合append=Trueするwarnings.filterwarningsで使用されるsklearn/__init__.py DeprecationWarningもはや提起です。 理由は調べていません。

私は現在の状況が悪いことに同意します、私はあなたがこのセットアップでどのような実際的な問題に遭遇するのか知りたいだけでした(それが原則的に悪いという事実を超えて)。 ユースケースをよく理解することは、適切なソリューションを考え出すのにも役立ちます。 この問題については、 https://github.com/scikit-learn/scikit-learn/issues/9857で説明されてい

これをhttps://github.com/scikit-learn/scikit-learn/issues/9857の複製として

このページは役に立ちましたか?
0 / 5 - 0 評価