webstation plus

 Pythonを使って機械学習をはじめると、膨大な量の数値計算をする必要に迫られるため、計算を効率的に行うモジュール「NumPy」を使うことが多くなります。

 NumPyは、機械学習で必須となるベクトルや行列などの多次元配列のデータを簡単に扱えるようにしてくれるだけでなく、計算を高速に処理してくれるとても便利なモジュールです。

 そこで今回は、Pythonで機械学習する方には必須のNumPyの導入方法と簡単な使い方を紹介します。

 NumPyの導入方法

 まずは「NumPy」がインストールされているか確認しましょう。

 Windowsの場合は、コマンドプロンプト(「Windowsシステムツール」⇒「コマンドプロンプト」)を立ち上げ、「python」と入力した後に、pythonのコンソールで以下のコマンドを実行します。

 エラーが出なければインストールできています。エラーが出た場合は、「CTL+Z」⇒「Return」でpythonのコンソールから抜け出し、以下のコマンドでインストールしましょう。

 ちなみに、インストールされている状態で、以下のサンプルコードを作成して実行(「python numpy_version.py」と入力)すると、NumPyのバージョンが確認できます。

◆サンプルプログラム(numpy_version.py):

◆実行結果:

 NumPyの使い方

 「NumPyの使い方」と一言でいっても幅広いため、ここではよく使われる機能に絞って紹介します。

NumPyの配列(ndarray)の使い方

 NumPyの基本は、ndarrayという配列をつくるところから始まります。

 ndarrayは多次元配列を扱うためのクラスで、1次元であればベクトルとして、2次元であれば行列として、3次元以上であればテンソルとして扱うことができます。

 まずは、1次元配列(ベクトル)をつくる場合、以下のサンプルプログラムで作成できます。

◆サンプルプログラム:

◆実行結果:

 NumPyはライブラリなので、最初にimportする必要があります。また、numpyをnpという名前でimportするのが慣習になっているので、特別な理由がない限り「np」としてimportしましょう。

 あとは、np.arrayに数値を入力すれば、1次元配列が作成できます。

 2次元配列(行列)も基本的には1次元と同じ方法で作成できます。1次元配列との違いは、複数の配列をカンマ(,)で区切って並べるところです。

◆サンプルプログラム:

◆実行結果:

 これで基本的な配列の作り方が理解できました。

配列の計算

 では次に、配列の計算について簡単に紹介していきます。

 次のサンプルプログラムは、ある配列にスカラーを加算した場合とスカラー倍した結果を表示するものです。

◆サンプルプログラム:

◆実行結果:

 配列にスカラーを足すと、それぞれの要素に足されることが、配列にスカラーをかけると、それぞれの要素が定数倍されることがわかります。

 次のサンプルプログラムのように、配列同士の足し算、引き算、掛け算もできます。

◆サンプルプログラム:

◆実行結果:

 ちなみに、行列の積を計算したい場合は、次のサンプルプログラムのように「.dot」関数を使います。

◆サンプルプログラム:

◆実行結果:

 2×3行列(vector1)と3×2行列(vector2)の積なので、2×2行列が返ってきます。

 どれも簡単に計算することが出来ましたね。

NumPyの基本的な関数の使い方

 では次に、NumPyの基本的な関数の使い方を紹介します。

 まずは四則演算です。「np.add」関数で加算、「np.subtract」関数で減算、「np.multiply」関数で乗算、「np.divide」関数で除算が計算できます。

◆サンプルプログラム:

◆実行結果:

 次は、累乗と平方根、対数です。「np.pwer」関数で累乗、「np.sqrt」関数で平方根、「np.log」関数で自然対数が計算できます。

◆サンプルプログラム:

◆実行結果:

 最後に、三角関数です。「np.sin」「np.cos」「np.tan」で計算できます。

◆サンプルプログラム:

◆実行結果:

 ただし、関数に引き渡すのは「度」ではなく「ラジアン」のため、「math.radians」関数を使って度をラジアンに変換してから入力しています。

 最後に

 今回は、NumPyの導入方法と簡単な使い方を紹介してきました。もちろん、NumPyには他に便利な機能が数多くありますが、まずは今回紹介した基本を理解してみてはどうでしょうか。

 きっと、あれこれ試してみたくなりますよ。

 関連記事

【Ubuntu】.debファイルをインストールする方法

 Ubuntuでは、パッケージを管理するシステムとして便利な「apt」があります。  しかし、パッケージによっては「apt-get install」コマンドでインストールできないものがあり、その場合は代わりにdebパッケ …

【Python】for文を使った繰り返し処理の基本を簡単に紹介

 Pythonで繰り返し処理を実現する方法として「for文」と「while文」がありますが、初心者の方には少し複雑に思えるかもしれません。  そこで今回は、初心者の方にもわかるように、Pythonでのfor文の使い方を簡 …

【Python】if __name__ == ‘__main__’:の意味と使い方を簡単に紹介

 Pythonを勉強していると、「if __name__ == ‘__main__’:」という謎のコードに出会うことがあります。  実はこれ。パッとみると他のプログラミング言語におけるmain関数 …

【Python】コメントやコメントアウトの書き方を紹介

 Pythonでプログラムを書いていると、コメントを追加したり、不要なコードをコメントアウトしたくなることがあります。  そこで今回は、初心者の方にもわかるように、Pythonでのコメント・コメントアウトの書き方を紹介し …

【Python】ファイルやディレクトリの一覧を取得する方法(listdir関数)

 Pythonを使って機械学習をはじめると、CSVなどのファイルを読み込んで、データをプログラムに取り込みたくなることがありますよね。  そんなときは、直接ファイルパスを指定して対応することもできますが、ファイル数が多い …

仮想マシン化「VMware Player」のインストール方法(32bit版も)

 「Windows PCでLinuxを動作させたい」と思ったことありませんか。  そんなときに便利なのが、仮想マシン構築ソフト「VMware Workstation Player(以下、VMware Player)」です …

【Python】文字列や数値、変数の値を出力するprint関数の使い方を紹介

 Pythonで文字列や数値、変数の値を出力したい場合、「print関数」を使うことになります。デバッグのときによく使う関数ですよね。  そこで今回は、初心者の方にもわかるように、Pythonでの「print関数」の使い …

Pythonのライブラリを簡単にインストールできるツール「pip」の導入方法

 この前のエントリでPythonのインストール方法を紹介しました。  Pythonをインストールすると標準ライブラリも同時にインストールされますが、それ以外にもサードパーティが約20万種類のライブラリを公開しています。 …

「Python」のインストール方法(Windows版)

 プログラミングしていますか?  私は仕事でプログラムを書いていますが、最近は世の中のトレンドの影響もあり、Pythonを使って機械学習のコードを書く機会が増えました。  簡単なコードで機械学習があれこれ試せるのでおすす …

【Python】while文を使った繰り返し処理の基本を簡単に紹介

 Pythonで繰り返し処理を実現する方法として「for文」と「while文」がありますが、初心者の方には少し複雑に思えるかもしれません。  そこで今回は、初心者の方にもわかるように、Pythonでのwhile文の使い方 …