Bien que je ise itérer dans A pour boucle, je reçois continuellement le même avertissement que je veux supprimer. L'avertissement se lit comme suit:
C:\Users\Nick Alexander\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\preprocessing\data.py:193: UserWarning: Numerical issues were encountered when scaling the data and might not be solved. The standard deviation of the data is probably very close to 0. warnings.warn("Numerical issues were encountered "
Le code qui produit l'avertissement est le suivant:
def monthly_standardize(cols, df_train, df_train_grouped, df_val, df_val_grouped, df_test, df_test_grouped):
# Disable the SettingWithCopyWarning warning
pd.options.mode.chained_assignment = None
for c in cols:
df_train[c] = df_train_grouped[c].transform(lambda x: scale(x.astype(float)))
df_val[c] = df_val_grouped[c].transform(lambda x: scale(x.astype(float)))
df_test[c] = df_test_grouped[c].transform(lambda x: scale(x.astype(float)))
return df_train, df_val, df_test
Je désactive déjà un avertissement. Je ne veux pas désactiver tous les avertissements, je veux juste désactiver cet avertissement. J'utilise python 3.7 et Sklearn version 0.0
Essayez ceci au début du script:
import warnings
warnings.filterwarnings("ignore", message="Numerical issues were encountered ")
Le python contextLib a un contexte de contexte pour cela: Supprimer
from contextlib import suppress
with suppress(UserWarning):
for c in cols:
df_train[c] = df_train_grouped[c].transform(lambda x: scale(x.astype(float)))
df_val[c] = df_val_grouped[c].transform(lambda x: scale(x.astype(float)))