私はnumpyの初心者ですが、最近私はrandom.normalメソッドで非常に混乱しています 平均がゼロの2行2列の行列を生成したいので、次のように書いています。 0 - np.mean(b))< 0.01ライン出力False、なぜですか?私はそれがTrueを出力すると期待しています。なぜnumpy random normalが間違った平均値を持つ間違ったランダムな行列を生成したのですか?
>>> import numpy as np
>>> b = np.random.normal(0.0, 1.0, (2,2))
>>> b
array([[-1.44446094, -0.3655891 ],
[-1.15680584, -0.56890335]])
>>> abs(0 - np.mean(b)) < 0.01
False
それはランダムです。なぜその平均は特定の価値ですか?特にわずか4サンプルでは? – spectras
@spectrasなので、このAPIはサイズが小さい場合に指定した平均値の結果を保証できません。 –
ルックアップ*分散*。分布の平均からあなたのサンプルの平均が逸れる可能性があることを教えてくれます。サンプルサイズはパラメータです! –