web-dev-qa-db-ja.com

scikit-learnからの警告の削除

私が教えているときにすべてのパッケージからの警告を無視したいと思いますが、scikit-learnはこれを制御するためにwarningsパッケージの使用を回避するようです。例えば:

with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    from sklearn import preprocessing

/usr/local/lib/python3.5/site-packages/sklearn/utils/fixes.py:66: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
  if 'order' in inspect.getargspec(np.copy)[0]:
/usr/local/lib/python3.5/site-packages/sklearn/utils/fixes.py:358: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
  if 'exist_ok' in inspect.getargspec(os.makedirs).args:

私はこのモジュールを間違って使用していますか、またはsklearnは想定外のことをしていますか?

50

Sklearn 警告を強制する という極端なことに私を悩ませます。

Main.pyの上部でこれを使い始めました:

def warn(*args, **kwargs):
    pass
import warnings
warnings.warn = warn

#... import sklearn stuff...
61
joshterrell805

2013年に警告ポリシーを変更 。次のように警告(特定のタイプも)を無視できます。

import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)

//編集:以下のコメントで、Reed Richardsはthe filterwarnings call needs to be in the file that calls the function that gives the warning.このソリューションで問題が発生した人に役立つことを願っています。

52
Zakum