そもそも、numpy の場合 0除算のデフォルトの挙動は'Warning'
ですので、エラーにはならないと思うのですが。。
'Warning'
表示すら表示したくない場合は numpyの0除算時の挙動を 'ignore'
に変更するとよいかと思います。
Python
1np.seterr(divide='ignore')
で、0除算が行われた際の計算結果は
- 正の値 / 0 の結果は np.inf
- 負の値 / 0 の結果は -np.inf
- 0 / 0 の結果は np.nan
となりますので、
具体的には,X_train/Y_train=0になるようにしたいです!
なのであれば、結果が np.inf
, -np.inf
, np.nan
の値を 0
に置き換えたらよいのではないでしょうか。
Python
1import numpy as np
2
3np.seterr(divide='ignore', invalid='ignore')
4X = np.array([4,4,-4,0,0])
5Y = np.array([2,0,0,0,1])
6result = X/Y
7#[ 2. inf -inf nan 0.]
8result = np.where(np.isinf(result) | np.isnan(result), 0, result)
9#[2,0,0,0,0]
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/08 01:32