2015-09-16 9 views
24

Ich möchte Warnungen von allen Paketen ignorieren, wenn ich unterrichte, aber scikit-learn scheint um die Verwendung des -Pakets zu arbeiten, um dies zu kontrollieren. Zum Beispiel:Beseitigung von Warnungen von scikit-learn

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: 

Bin ich dieses Modul falsch, oder ist sklearn etwas tut ihr nicht anzunehmen?

+0

Die Fragen sehr gut in einem anderen Stackoverflow beantwortet wurde [Beitrag] (http://stackoverflow.com/questions/879173/how-to- ignore-deprecation-warnings-in-python – San

+5

Dieses Problem unterscheidet sich von dem in @San erwähnten Post, und es ist ** nicht ** ein Duplikat, wie oben markiert Eine korrekte Antwort wird unten von @ joshterrell805 gegeben - Es ist ein 'sklearn' Problem: Sie erzwingen Verwarnungen Warnungen – davalo

Antwort

23

Es ärgert mich bis zum Extrem, dass sklearn forces warnings.

Ich begann diese von main.py an der Spitze mit:

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

#... import sklearn stuff... 
19

Sie changed their warning policy in 2013 haben. Sie können wie folgt mit etwas Warnungen (auch bestimmte Arten) ignorieren:

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

Ich habe es versucht, aber es hat nicht funktioniert. Meine Codierungsumgebung ist Anaconda Python 3.4 Windows 10 –

+0

Schwer zu beurteilen, warum Sie Probleme erfahren, ohne weitere Details zu kennen. Ich vermute jedoch, dass der Importauftrag fehlerhaft ist. Versuchen Sie zwei Dinge: Platzieren Sie den obigen Warnungscode direkt nach dem Importieren des Moduls, das die DeprecationWarnings auslöst. Wenn das nicht hilft, versuchen Sie den Code nach allen anderen Importen zu setzen. Das sollte ausreichen, um entweder Ihr Problem zu lösen oder den Importauftrag als Problem zu eliminieren. – Zakum

+1

Sie können sogar die Kategorie – CodingYourLife

Verwandte Themen