俺人〜OREGIN〜俺、バカだから人工知能に代わりに頑張ってもらうまでのお話

俺って、おバカさんなので、とっても優秀な人工知能を作って代わりに頑張ってもらうことにしました。世界の端っこでおバカな俺が夢の達成に向けてチマチマ頑張る、そんな小さなお話です。現在はG検定、E資格に合格し、KaggleやProbSpaceのコンペに参画しながら、Pythonや機械学習、統計学、Dockerなどの勉強中です。学習したことをブログにアウトプットすることで、自分の身に着けていきたいと思います。まだまだ道半ばですが、お時間がありましたら見て行ってください。

エピソード2-10: 乱数の取得〜 E資格への道〜

今回は、Numpyで乱数を取得する方法を学びます。 

randamモジュールを利用することで、様々な乱数を取得することができます。

では、早速試してきます。

 

 0. まずは、お約束のnumpyライブラリをimport。

f:id:kanriyou_h004:20190330212710p:plain

「import numpy as np」とすることで、「np」にて参照して、各種関数や定数を呼び出すことができます。

 1. np.random.rand()で、一様分布から実数の乱数を取得する。

f:id:kanriyou_h004:20190410215018p:plain

np.random.rand()に引数を渡さない場合は、0以上、1未満の一様分布からの実数値の乱数を一つ取得できます。

f:id:kanriyou_h004:20190410215348p:plain

np.random.rand()の引数に取得したい個数を指定することで、一様分布からの指定した個数の乱数がarrayで取得できます。

f:id:kanriyou_h004:20190410215601p:plain

np.random.rand()の引数に行列のサイズを渡すことで、一様分布から指定したサイズの乱数がarrayで取得できます。

2. np.random.randint()で、一様分布から整数の乱数を取得する。

f:id:kanriyou_h004:20190410221215p:plain

np.random.randint()の引数に取得したい乱数の範囲を指定することで、一様分布からの乱数を取得できます。

2つ目の引数の数字は含まれないことに注意が必要です。

f:id:kanriyou_h004:20190410221738p:plain

np.random.randint()の引数の三つ目に取得したい乱数の個数を指定することで、指定した個数の整数の乱数がarrayで取得できます。

3. np.random.normal()で、正規分布からの実数の乱数を取得する。

f:id:kanriyou_h004:20190410223104p:plain

np.random.normal()の引数に、loc=(平均)、scale=(標準偏差)、size=(個数)を指定することで、指定した平均、標準偏差正規分布からの実数の乱数を指定した個数arrayで取得できます。

f:id:kanriyou_h004:20190411214318p:plain

sizeに行列のサイズを指定することで、指定したサイズで正規分布からの乱数を取得することができます。 

f:id:kanriyou_h004:20190411214546p:plain

パラメータ名を省略しても取得可能です。

4. matplotlib.pyplotオブジェクトのhist()メソッドで取得した乱数をヒストグラム化する。

f:id:kanriyou_h004:20190411215351p:plain


matplotlib.pyplotオブジェクトのhist()メソッドに取得した乱数(array)と、bins=階級数(棒の数)を引数に渡すことで、ヒストグラムで表示できます。(今回の場合、平均0、標準偏差3の正規分布の形状になります。)

arrayオブジェクトは、reshape()メソッドにサイズを指定することで行列のサイズを変更することができます。

 

今回は、一様分布と正規分布からの乱数の取得ができるようになりました。

乱数が取得できることは基礎の基礎なので、これをどう活用して行くかは、これから徐々に学んで行きたいと思います。

では、引き続き、頑張って勉強していきたいと思います。

 

 2019年3月9日(土)にG検定を受験し、見事合格できました!

受験の体験記や勉強法などを別のブログにまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

g-kentei.hatenablog.com