[解決済み] numpy.random.multivariate_normal(mean, cov[, size]) を用いて複数サンプルを描画する。
2022-01-29 16:04:43
質問
numpy関数の使用
numpy.random.multivariate_normal()
平均と共分散を与えれば、多変量ガウスからランダムにサンプルを抽出することができます。
一例として
import numpy as np
mean = np.zeros(1000) # a zero array shaped (1000,)
covariance = np.random.rand(1000, 1000)
# a matrix of random values shaped (1000,1000)
draw = np.random.multivariate_normal(mean, covariance)
# this outputs one "draw" of a multivariate norm, shaped (1000,)
上記の関数は、多変量ガウシアンから1つの "draw"を出力します。
(1000,)
(共分散行列が整形されているので
1000,1000)
).
200枚のドローが欲しいです。どうすればいいのでしょうか?私はリスト内包を作成しますが、反復を作成する方法がわかりません。
EDIT:この違いは何ですか?
draw_A = np.random.rand(1000, 1000, 200)
そして
draw_B = [np.random.multivariate_normal(mean, covariance) for i in range(200)]
?
はい。
draw_B
はリストですが、どちらも200の独立したドローの形をしていますか?
1000,1000)
?
解決方法は?
をお気づきですか?
size
の引数は
docstring
?
例えば、この呼び出しは3次元分布から5つのサンプルを生成します。
In [22]: np.random.multivariate_normal(np.zeros(3), np.eye(3), size=5)
Out[22]:
array([[ 1.08534253, 0.70492174, -0.8625333 ],
[ 0.16955737, -0.89453284, 0.8347796 ],
[ 0.49506717, -1.18087912, -0.89118919],
[-0.97837406, -0.42304268, 0.4326744 ],
[-1.18836816, 1.33389231, 0.23616035]])
編集された質問に対する回答。
-
np.random.rand(d0, d1, d2)
作るd0*d1*d2
からランダムに抽選されます。 一変量 一様 0, 1)に分布し,それを配列で返し,形状は(d0, d1, d2)
. -
np.random.multivariate_normal(mean, cov, size=n)
ここでmean
は形状を持つ配列(m,)
とcov
は形状を持つ配列(m, m)
を作成します。n
は多変量正規分布からドローを生成し,それを形状が(n, m)
. リスト内包draw_B
も多変量正規分布から、関数呼び出しごとに1サンプルずつサンプルを取得し、サンプルを配列ではなくリストに格納します。
関連
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み] データ型が理解できない
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
Python入門 openを使ったファイルの読み書きの方法
-
Python Pillow Image.save jpg画像圧縮問題
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。