python - Eliminando advertencias de scikit-learn
warnings (2)
Esta pregunta ya tiene una respuesta aquí:
Me gustaría ignorar las advertencias de todos los paquetes cuando estoy enseñando, pero scikit-learn parece funcionar en torno al uso del paquete de warnings
para controlar esto. Por ejemplo:
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:
¿Estoy utilizando este módulo de forma incorrecta, o estoy haciendo algo que no se supone que debe hacer?
Han cambiado su política de advertencia en 2013 . Puede ignorar advertencias (también tipos específicos) con algo como esto:
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
// EDIT: en los comentarios a continuación, Reed Richards señala que the filterwarnings call needs to be in the file that calls the function that gives the warning.
Espero que esto ayude a aquellos que experimentaron problemas con esta solución.
Me molesta hasta el extremo de que Sklearn forza las advertencias .
Empecé a usar esto en la parte superior de main.py:
def warn(*args, **kwargs):
pass
import warnings
warnings.warn = warn
#... import sklearn stuff...