機械学習記2日目 ~ NumPyで配列を操作

 昨晩、ロビー(wi-fi環境)で作業しようとしたら4,5、(6)年生の先輩方がフルーチェの立食パーティー(謎)をしていたため、ブログを投稿できませんでした。

 

 これから何日かかけて、機械学習で利用するライブラリの使い方を調べたいと思います。

 実行はJupyter Notebookで行いますので、起動しておきます。

 最初のライブラリは、NumPyです。Numpyは、数値計算を効率的に行うためのモジュールで、今回使うAIライブラリの「scikit-learn」はNumPyを利用しています。まず、念のためNumPyがインストールされているか確認しましょう。NumPyをnpという名でimportします。

 Jupyter Notebookのセルに次のように入力して、[ run  cell  select  below ] ボタンをクリックするか[ Shift ]+[ Enter ]キーで実行します。

 In [1] : import numpy as np

 もし、何らかの理由でNumPyのインストール に失敗してる場合はエラーが出ます。その場合は、「Anaconda Prompt」で「pip install numpy」と入力して、再インストールしてください。

 

▶NumPyで配列を操作

 NumPyで配列を作るにはarray関数を使います。例えば、要素が3,5,8の配列は、次のように作ります。

f:id:hackU0001:20190222094639p:plain

 

 2次元配列なら、次のようにします。

f:id:hackU0001:20190222095442p:plain

 

 NumPyの配列はnumpy.ndarrayクラスのオブジェクトなので、高速に動作する上、便利な関数や属性が多く用意されています。例えば、各次元の要素数が知りたい場合は、shape属性を参照します。

f:id:hackU0001:20190222100933p:plain

 

 

 次のようにすると、0~1のランダムな値で、要素を初期化することができます。

f:id:hackU0001:20190222102130p:plain

 

▶ベクトルと行列の演算

配列をベクトルや行列として計算することができます。例えば、次のような配列を用意して5を掛けると、それぞれの要素が5倍になります。

f:id:hackU0001:20190222151416p:plain

 

 同じ型の配列同士の計算は、同じ場所同士が計算されて返ります。 

f:id:hackU0001:20190222153148p:plain

 

 転置を行うには、配列のT属性を参照します。

f:id:hackU0001:20190222151819p:plain

                                    つづく