科学の箱

科学・IT・登山の話題

Python

numpy.random.standard_normal()を使って標準分布の配列を生成する

投稿日:

numpy.random

numpyにはいろいろな種類の分布関数から配列をランダムに生成するモジュールが用意されている。このモジュールはnumpy.randomと呼ばれる。

マニュアルはこちら : Random sampling (numpy.random)

機械分析をする際に特定の分布から配列を作りテストデータとして利用したいケースはよくある。このrandomを利用すれば、難しいことなくあっという間にテストデータを作成できる。しかも利用できる分布は、一様分布、二項分布、標準分布、χ分布など多岐にわたる。

利用できるすべての分布について知りたい場合はこちら:Distributions

標準分布作成

今回はこのrandom samplingを使って、標準分布から配列を作り、グラフに表示してみる。

標準分布を作成するには、numpy.random.normal()を使う。

マニュアルはこちら : numpy.random.normal()

random.normal()で重要となる3つの引数が、loc, scale, sizeである。random.normal()により、平均loc、標準偏差scaleの標準分布からランダムにsize個の値が取得できる。

まずは平均=0、標準偏差=1、100個の値を生成する。

import numpy as np
np.random.normal(loc=0.0, scale=1.0, size=100)
# array([ 1.35715525e+00,  2.56426627e-01, -8.04137869e-01,  1.08353165e-01,
        8.96922671e-01, -2.86928524e-01, -5.36646804e-01,  7.07572646e-01,
       -1.93291487e-01,  3.32907355e-02,  5.57873262e-01,  9.50702968e-01,
       -3.14223231e-01, -1.13656991e+00,  1.47692868e+00, -3.80307830e-01,
        1.16530194e+00, -2.09250152e-04,  6.37283361e-01, -1.23025497e+00,

2行で標準分布に従うランダム値が100個取得できた。

グラフへの表示

グラフに表示するために先ほどのコードを少し修正する。生成した変数をxに代入しておく。また生成する値は1000個とする。

import numpy as np
x = np.random.normal(loc=0.0, scale=1.0, size=1000)

ヒストグラムを表示するにはmatplotlib.histを使う。

matplotlib.pyplot.hist

histの重要な引数はxおよびbinである。

  • x: 配列、表示するデータ
  • bins: 整数、ヒストプログラムを分割する数

histを使うとxに指定した変数をヒストグラムに表示する。この際にヒストグラムの幅はbins個となる。

import matplotlib
%matplotlib inline
plt.hist(x, bins=50)

 

メタ情報

inarticle



メタ情報

inarticle



-Python
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

生成した配列をグラフで確認

生成した配列を可視化するためにはmatplotlibが利用できる。 ここでは簡単に可視化するための使い方を見てみる。 まずはnumpyとmatplolibモジュールを読み込む。以下ではnumpyはnp …

no image

kaggle Titanic Tutorial – 6

さて、今回は年齢について検証する。まずこれまでは中央値を使っていたわけだ。これをもともと年齢分布と中央値を使って更新した後の年齢分布を比較する。 import numpy as nm import p …

no image

Pythonで文字列を生成するときの方法についてまとめる

Pythonで文字列を生成するときには様々な方法があるのでまとめる。 まず最も基本となるのは生成したい文字をシングルクォーテーションもしくはダブルクォーテーションで囲む方法である。どちらの方法を使って …

no image

空の配列を生成

numpy.empty()を使うと要素が初期化されていない配列を生成できる。要素に入る値はその時により変わるので必ず初期化後には明示的に値を設定する必要がある。 numpy.empty print(n …

no image

model.coef_の確認

重回帰分析で重みを確認するには下記を利用する。 model.coef_ ただしこれだと有効桁数が分かりにくいので有効桁数を3桁にして、さらに指数を展開する。 np.set_printoptions(p …

2019年9月
« 8月   10月 »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

side bar top



アーカイブ

カテゴリー