python numpy.randomの詳細説明
ランダムサンプリング( numpy.random )
単純なランダムデータ
<テーブル<スパン <スパン <スパン ランド (d0, d1, ... , dn)
ランダム値
>>> np.random.rand(3,2)
array([[ 0.14022471, 0.96360618], #random
[ 0.37601032, 0.25528411], #random
[ 0.49313049, 0.94909878]]) #random
<スパン <スパン <スパン ランド (d0, d1, ... , dn)
を持つサンプルを返します。 標準正規分布 .
備考
からのランダムなサンプルの場合 を使用します。
sigma * np.random.randn(...) + mu
例
>>> np.random.randn()
2.1923875335537315 #random
N(3, 6.25) からのサンプルの 2 x 4 の配列.
>>> 2.5 * np.random.randn(2, 4) + 3
array([[-4.49401501, 4.00950034, -1.81814867, 7.29718677], #random
[ 0.39924804, 4.68456316, 4.99394529, 4.84057254]]) #random
<スパン <スパン <スパン ランディント (低[, 高], サイズ)
のランダムな整数を返します。 半開き 区間[low, high]になります。
>>> np.random.randint(2, size=10)
array([1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0])
>>> np.random.randint(1, size=10)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
0から4までのintを含む2×4の配列を生成します。
>>> np.random.randint(5, size=(2, 4))
array([[4, 0, 2, 1],
[3, 2, 2, 0]])
<スパン <スパン ランダム整数 (低[, 高], サイズ)
閉区間[low, high]に含まれる乱数値を返します。
備考
aとbの間にある等間隔なN個の浮動小数点数からサンプリングするには、次のようにします。
a + (b - a) * (np.random.random_integers(N) - 1) / (N - 1.)
例
>>> np.random.random_integers(5)
4
>>> type(np.random.random_integers(5))
<type 'int'>
>>> np.random.random_integers(5, size=(3.,2.))
array([[5, 4],
[3, 3],
[4, 5]])
0から2.5までの等間隔に並んだ5つの数字の集合から、5つの乱数を選んでください( すなわち という集合から ):
>>> 2.5 * (np.random.random_integers(5, size=(5,)) - 1) / 4.
array([ 0.625, 1.25 , 0.625, 0.625, 2.5 ])
6面サイコロ2個を1000回振って、その結果を合計する。
>>> d1 = np.random.random_integers(1, 6, 1000)
>>> d2 = np.random.random_integers(1, 6, 1000)
>>> dsums = d1 + d2
結果をヒストグラムで表示します。
>>> import matplotlib.pyplot as plt
>>> count, bins, ignored = plt.hist(dsums, 11, normed=True)
>>> plt.show()
<スパン <スパン <スパン ランダムサンプル ([サイズ])
Random Floating Point Number in half-open interval [0.0, 1.0](半開放区間内の浮動小数点数)を返します。
サンプルに の出力を乗算します。 ランダムサンプル によって (b-a) を追加し a :
(b - a) * random_sample() + a
例
>>> np.random.random_sample()
0.47108547995356098
>>> type(np.random.random_sample())
<type 'float'>
>>> np.random.random_sample((5,))
array([ 0.30220482, 0.86820401, 0.1654503 , 0.11659149, 0.54323428])
5, 0)からの乱数の3×2配列。
>>> 5 * np.random.random_sample((3, 2)) - 5
array([[-3.99149989, -0.52338984],
[-2.99091858, -0.79479508],
[-1.23204345, -1.75224494]])
<スパン <スパン <スパン ランダム ([サイズ])
Random Floating Point Number in half-open interval [0.0, 1.0](半開放区間内の浮動小数点数)を返します。
<スパン (公式サイトの例はrandom_sampleと全く同じです)
<スパン <スパン <スパン ランフ ([サイズ])
Random Floating Point Number in half-open interval [0.0, 1.0](半開放区間内の浮動小数点数)を返します。
<スパン <スパン <スパン (公式サイトの例はrandom_sampleと全く同じです)
<スパン <スパン <スパン サンプル ([サイズ])
Random Floating Point Number in half-open interval [0.0, 1.0](半開放区間内の浮動小数点数)を返します。
<スパン <スパン <スパン (公式サイトの例はrandom_sampleと全く同じです)
<スパン <スパン 選択 (a[,サイズ,置換,p])
与えられた一次元配列から無作為なサンプルを生成します。
例
大きさ3のnp.range(5)から一様な無作為標本を生成します。
>>> np.random.choice(5, 3)
array([0, 3, 4])
>>> #This is equivalent to np.random.randint(0,5,3)
サイズ3のnp.range(5)から非一様なランダムサンプルを生成します。
>>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
array([3, 3, 0])
サイズ3のnp.range(5)から、置換なしで一様な無作為標本を生成します。
>>> np.random.choice(5, 3, replace=False)
array([3,1,0])
>>> #This is equivalent to np.random.permutation(np.range(5))[:3]
サイズ3のnp.range(5)から、置換なしで非一様な無作為標本を生成します。
>>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
array([2, 3, 0])
上記のいずれかを、整数だけでなく、任意の配列のようなもので繰り返すことができます。
>>> aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'christopher']
>>> np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
array(['pooh', 'pooh', 'pooh', 'Christopher ', 'piglet'],
dtype='|S11')
<スパン <スパン <スパン バイト (長さ)
ランダムなバイトを返します。
>>> np.random.bytes(10)
' eh\x85\x022SZ\xbf\xa4' #random
アレンジ
<テーブル<スパン <スパン <スパン シャッフル (x)
フィールドはシーケンスを変更し、それ自身のコンテンツを変更する。(シャッフルに似ていて、シーケンスを乱す)
>>> arr = np.range(10)
>>> np.random.shuffle(arr)
>>> arr
[1 7 5 2 9 4 3 6 0 8]
この関数は、多次元配列の最初のインデックスに沿った配列のシャッフルのみを行います。
>>> arr = np.range(9).reshape((3, 3))
>>> np.random.shuffle(arr)
>>> arr
array([[3, 4, 5],
[6, 7, 8],
[0, 1, 2]])
<スパン <スパン <スパン 順列 (x)
のランダムな配置を返します。
>>> np.random.permutation(10)
array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6])
>>> np.random.permutation([1, 4, 9, 12, 15])
array([15, 1, 9, 4, 12])
>>> arr = np.range(9).reshape((3, 3))
>>> np.random.permutation(arr)
array([[6, 7, 8],
[0, 1, 2],
[3, 4, 5]])
>>> mean = [0,0]
>>> cov = [[1,0],[0,100]] # diagonal covariance, points lie on x or y-axis
>>> import matplotlib.pyplot as plt
>>> x, y = np.random.multivariate_normal(mean, cov, 5000).T
>>> plt.plot(x, y, 'x'); plt.axis('equal'); plt.show()
>>> mu, sigma = 0, 0.1 # mean and standard deviation
>>> s = np.random.normal(mu, sigma, 1000)
<スパン 配信内容
<テーブル<スパン <スパン <スパン ベータ (a, b[,サイズ])
のベータ分布サンプル <スパン [0, <スパン 1] 内側です。<スパン <スパン 二項式 (n, p[, size])
二項分布のサンプルです。<スパン <スパン <スパン シスクエア (df[,サイズ])
カーディナリティ分布のサンプルです。<スパン <スパン <スパン ディリクレ (アルファ[, サイズ])
Dirichlet分布のサンプルです。<スパン <スパン <スパン 指数関数的 ([スケール、サイズ])
指数分布<スパン <スパン <スパン f (dfnum、dfden[, サイズ])
サンプルのF分布。<スパン <スパン <スパン ガンマ (シェイプ[, スケール, サイズ])
<スパン ガンマ分布<スパン <スパン <スパン 幾何学的 (p[,サイズ])
<スパン 幾何学的分布<スパン <スパン <スパン ガムベル ([loc, scale, size])
ガンベル分布。<スパン <スパン <スパン ハイパージオメトリック (ngood, nbad, nsample[, size])
超幾何分布のサンプル。<スパン <スパン <スパン ラプラス ([loc, scale, size])
サンプルラプラシアン分布または二重指数分布<スパン <スパン <スパン ロジスティック ([loc, scale, size])
ロジスティック分布サンプル<スパン <スパン <スパン ログノーマル ([平均値, σ, サイズ])
<スパン 対数正規分布<スパン <スパン <スパン ログシリーズ (p[,サイズ])
対数系列分布。<スパン <スパン <スパン 多項式 (n、pvals[, size])
<スパン 多項目分布<スパン <スパン <スパン マルチバリアートノーマル (平均値, cov[, サイズ])
多変量正規分布。
>>> abs(mu - np.mean(s)) < 0.01
True
>>> abs(sigma - np.std(s, ddof=1)) < 0.01
True
>>> import matplotlib.pyplot as plt
>>> count, bins, ignored = plt.hist(s, 30, normed=True)
>>> plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *
... np.exp( - (bins - mu)***2 / (2 * sigma**2) ),
... linewidth=2, color='r')
>>> plt.show()
<スパン <スパン <スパン 負の二項式 (n, p[, size])
負の二項分布<スパン <スパン <スパン 非中央集権的な二乗 (df、nonc[, size])
非心円カイ二乗分布<スパン <スパン <スパン noncentral_f (dfnum、dfden、nonc[, size])
<スパン 非中心 F分布<スパン <スパン <スパン 通常 ([loc, scale, size])
<スパン 正規(ガウス)分布
備考
ガウス分布の確率密度は次のとおりです。
ここで は平均値で 標準偏差の二乗。 は、分散と呼ばれます。
この関数は平均値でピークを持ち、標準偏差が大きくなるほど広がりが大きくなります(関数が最大値の0.607倍となるのは と [R217] ).
例
分布からサンプルを抽出します。
>>> mu, sigma = 0, 0.1 # mean and standard deviation
>>> s = np.random.normal(mu, sigma, 1000)
平均と分散を確認する。
>>> abs(mu - np.mean(s)) < 0.01
True
>>> abs(sigma - np.std(s, ddof=1)) < 0.01
True
サンプルのヒストグラムを、確率密度関数とともに表示します。
>>> import matplotlib.pyplot as plt
>>> count, bins, ignored = plt.hist(s, 30, normed=True)
>>> plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *
... np.exp( - (bins - mu)***2 / (2 * sigma**2) ),
... linewidth=2, color='r')
>>> plt.show()
<スパン <スパン <スパン パレート (a[,サイズ])
<スパン パレート分布<スパン <スパン <スパン ポワソン ([lam, size])
ポアソン分布<スパン <スパン <スパン パワー (a[,サイズ])
正の指数 a - 1 を持つべき乗分布から [0, 1] の標本を描画します。<スパン <スパン <スパン レイレイ ([スケール、サイズ])
レイリー 分布図<スパン <スパン 標準コーシー ([サイズ])
標準的なCorsiの分布<スパン <スパン <スパン 標準エクスポネンシャル ([サイズ])
標準的な指数分布<スパン <スパン <スパン 標準ガンマ (形状[, サイズ])
<スパン 標準ガンマ分布<スパン <スパン <スパン スタンダード_ノーマル ([サイズ])
標準正規分布(mean=0, stdev=1)。<スパン <スパン <スパン スタンダード_t (df[,サイズ])
標準的なスチューデントのt分布で、自由度はdfです。<スパン <スパン <スパン トライアングル (左, モード, 右[, サイズ])
三角分布<スパン <スパン <スパン 均一 ([低, 高, サイズ])
<スパン 一様分布<スパン <スパン <スパン フォンミーズ (ミュー、カッパ[, サイズ])
フォンミーゼス <スパン 分布<スパン <スパン <スパン ウォルド (平均値, スケール[, サイズ])
<スパン ウォルド(逆ガウス)分布<スパン <スパン <スパン ワイブル (a[,サイズ])
<スパン ワイブル <スパン 分布図<スパン <スパン <スパン ビュッフェ (a[,サイズ])
<スパン Zipf分布乱数発生装置
<テーブル<スパン <スパン <スパン 種 ([seed])
ジェネレーターに種をまく。<スパン <スパン <スパン 取得状態 ()
ジェネレーターの内部状態を表すタプルを返します。<スパン <スパン <スパン set_state (状態)
タプルからジェネレーターの内部状態を設定する。関連
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】Flask Value error ビュー関数が応答を返さなかった [重複]。
-
Pythonの文字列の詳細
-
Pythonのdefaultdictとdictの違いについて
-
[解決済み] 2次元配列のカラープロット matplotlib
-
[解決済み] エラー 特異な行列
-
[解決済み] Pythonの変数を'undefined'に設定する方法は?
-
[解決済み] charが母音('a', 'e', 'i', 'o', または 'u')であれば真、そうでなければ偽を返す関数 isVowel(char) を定義する。
-
[解決済み] djangoのフォームにチェックボックスを挿入する方法
-
[解決済み] Matlabの'hold on'に相当するPythonの機能
最新
-
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 - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】Pythonを使用したSelenium - Geckodriverの実行ファイルがPATHにある必要があります。
-
[解決済み】pyplot for ndarrayを使用してダブルバー、バープロットをプロットすることができない。
-
[解決済み】Django Rest Framework -- rest_framework という名前のモジュールがない。
-
python のエラーです。TypeError:'dict' オブジェクトは呼び出し可能ではありません。
-
[解決済み] TKinterのボタンの無効化/有効化
-
[解決済み] Windows での Python ライブラリのインストールに関する問題点 : CondaHTTPErrorです。HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/anaconda/win-64
-
[解決済み] Djangoのモデルでパスワードフィールドを作成する方法
-
[解決済み] Client failed to connect to D-BUS daemon "とはどういう意味ですか?
-
print を使用したエラー SyntaxError: print' の呼び出しに括弧がありません print("") のことですか?