私はforループ内で繰り返しますが、私は絶えず同じ警告を受け取ります。警告は次のとおりです。
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 "
_
警告を作成しているコードは次のとおりです。
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
_
私はすでに1つの警告を無効にしています。私はすべての警告を無効にしたくない、この警告を無効にしたいだけです。私は使用していますpython 3.7とSklearnバージョン0.0)
スクリプトの先頭でこれを試してください。
import warnings
warnings.filterwarnings("ignore", message="Numerical issues were encountered ")
_
python ContextLibには、このためのContextMamagerがあります. suppress
_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)))
_