我想在教学时忽略所有包的警告,但是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做它不应该做的事情?
sklearn强制警告让我非常恼火。
我开始在main.py的顶部使用这个:
def warn(*args, **kwargs):
pass
import warnings
warnings.warn = warn
#... import sklearn stuff...
他们在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.
我希望这能帮助到那些在使用这个解决方案时遇到问题的人