着実に進化しているAI(人工知能)は、一般人でも利用できる時代になりましたよね。身近になってきたAI(人工知能)の多くは、プログラミング言語のPythonとそのライブラリのNumpyなどをパソコンにインストールして、機械学習技術で開発されています。
機械学習とは、AI(人工知能)に特定の予測や分類をさせるために、データの特徴を学ばせる方法です。例えばこれで、多くの画像から特定の画像だけを分類する画像認識や、天気や株価の予測ができるようになります。
そして、このようなAI(人工知能)開発で必要なのが、Pythonとそのライブラリ。ライブラリの中でも特にNumpyは機械学習で欠かせない存在なので、インストールは必須です。
そのため初心者がPythonでAI(人工知能)開発をするなら、Numpyが必要な理由やインストール方法について知っておきましょう。そこで今回は、PythonでのAI(人工知能)開発に必要なNumpyの特徴とインストール方法についてお伝えします。
Numpyとは
NumpyとはNumerical(数値) Pythonの略で、Pythonライブラリの一つです。ライブラリとは、よく使うプログラムをあらかじめ作ってまとめてあるプログラム集のことを指します。
ライブラリがあれば一からプログラムを作らず、必要なプログラムを呼び出すだけで使用できます。とても便利ですよね。そんな便利なライブラリがPythonには豊富にあります。このライブラリの豊富さが、Pythonが多くのAI(人工知能)開発で使用されている大きな理由です。
AI(人工知能)開発の機械学習には、大量のデータを処理する高度な計算プログラムが必要で、それがPythonのライブラリに複数備わっています。
その中一つになるNumpyは、機械学習で多次元配列やベクトル・行列などの数値計算を効率よく実行できます。そして、Numpy以外にもPythonには、さまざまなライブラリがあるので紹介しましょう。
Numpy以外のPythonライブラリ
Pythonのライブラリは、数え切れないほど膨大な数のライブラリが存在しています。ライブラリは大きく分けると、標準ライブラリと外部ライブラリの2つになります。
そのうちの標準ライブラリは、Pythonに最初から付属しているライブラリのこと。その代表的なものは次の通りです。
random
randomは、乱数(ランダムの数値)を作れるライブラリです。例えば、じゃんけんゲームのプログラムを作りたい場合はrandomを使用します。使用するとコンピュータがグー、チョキ、パーをランダムに出せるプログラムが作れます。
math
mathは、数学の複雑な計算処理ができるライブラリです。例えば、円周率を取得したい場合や、指数関数・対数関数・三角関数など高校・大学の数学で出てくる関数のプログラムが使用できます。これらのプログラムは一から作ると大変ですが、mathを使用すると簡単に行えます。
datetime
datetimeは、日付や時間を取得できるライブラリです。開発するプログラムに日付情報が必要な場合は、datetimeを使用します。
そして、外部ライブラリは標準ライブラリ以外の、外部の団体によって作られたライブラリです。外部ライブラリは標準ライブラリよりも、膨大な数がありますが今回は、Numpy以外で機械学習の定番になっている外部ライブラリを紹介します。
Pandas
Pandas(パンダス)は、Python上で動くデータ処理や分析に使用できるライブラリです。例えば、データの読み書きやグラフ化が簡単に実行できます。そして機械学習では、データ分析の前処理で多用されている必須のライブラリになっています。
Matplotlib
Matplotlib(マットプロットリブ)は、読み込んだデータをグラフや画像として表示して、その内容を見た目でわかるように可視化します。高品質なグラフを作成し、画像はPDF、JPEG、GIFなどにして出力できます。
SciPy
SciPy(サイパイ)は、配列や行列、統計などの計算ができるライブラリです。機械学習では、データの前処理に使用されています。
紹介した以外にも、さまざまなプログラム開発で便利なライブラリがPythonにはあります。次にそんなNumpyの特徴と使い方を紹介します。
Numpyの特徴・使い方
Numpyの主な特徴は2つあります。1つは速いプログラムの実行速度です。
NumpyはPythonのライブラリなので、Pythonで作られていると思うのが一般的ですよね。しかし、実はNumpyのプログラムはPythonで作られていません。Numpyは、プログラムの実行速度が速いコンパイラ型のプログラミング言語である、C言語とFortranで作られているからです。
そのため、Pythonのプログラム上でNumpyを使用すると数値計算を高速処理できます。その速さの違いは、Pythonで約2時間かかる処理をNumpyでは1分程度で終えられます。
そして、2つ目は多次元配列の数値データを扱うのが得意なこと。配列とは、複数のデータを1つにまとめたもので、次のように表します。
上記の配列は1次元配列です。この配列の中で2つの1次元配列を納めたものが2次元配列。
2次元以上の配列を多次元配列といいます。そして、2次元配列を2つ納めたら3次元配列になります。
機械学習では、大量のデータを効率よく扱うために、データを配列にして計算をします。そこで数値データを多次元配列で高速処理できるので、機械学習の定番で使用されているのがNumpyです。では、数値データを多次元配列にするNumpyの使い方を説明しましょう。
Numpyの使い方
NumpyをPythonで使用するためには、1行目に次のコードを入力します。
そして、Numpyで扱う配列をndarrayといいます。ndarray の1次元配列を作るコードは、次の通りです。
a = np.array([l, 2, 3 ,4 ,5])
print(a)
[1 2 3 4 5] ← 出力結果
np.array()は、数値データをndarrayにする機能を持った関数です。そのnp.array()内に数値データを入力して変数aに代入します。そして、出力機能を持つprint関数で出力すると1次元配列のできあがりです。
2次元配列と3次元配列も、同じようなコードで作ります。
a = np.array([[l, 2, 3,], [4, 5, 6]])
print(a)
[[1 2 3] [4 5 6]] ← 出力結果
a=np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(a)
[[[ 1 2 3] [ 4 5 6]] [[7 8 9] [10 11 12]]] ← 出力結果
以上がNumpyの基本になるndarrayを作るための使い方です。みなさんも、実際に紹介したプログラムでndarrayを作ってみましょう。
しかし、その前にNumpyをインストールして、使用できる環境を整えなければなりません。次は、Numpyのインストール方法について説明しましょう。
Numpyのインストール方法
Numpyをインストールするためには、Pythonがインストールされて使用できる状態にあるのが前提です。そこで、Pythonが使用できる状態からのNumpyのインストール方法を紹介します。
Numpyのインストールには、pipを使用する方法が一般的です。pipとは、Pythonで使用できるライブラリなどをインストールするための管理ツール。以前は、pip もインストールして使っていましたが、現在はPythonのバージョン3.4以降からPythonに標準付属しています。
そして、Numpyのインストールは、Windowsはコマンドプロンプト、MacOSはターミナルで次のコードを実行します。
これでNumpyが自動的にインストールされ、Pythonのプログラム上で利用できます。しかし、Numpyをインストールするときに注意点があるので、次で紹介しましょう。
Numpyのインストール時の注意点
Numpyのインストール時の注意点は2つあります。1つはNumpyのインストール前にpipを更新しておくこと。
pipは最新バージョンに更新されていないと、利用できずエラーメッセージが表示されます。そのため、Numpyのインストールを実行する前にpipを更新しましょう。pipの更新方法は、Windowsではコマンドプロンプト、MacOSはターミナルで次のコードを入力して実行します。
もしくは
python -m pip install –upgrade pip
これでpipは更新されます。
そして、2つ目の注意点は、AnacondaでPythonを使用する場合です。Pythonでプログラム開発する主な方法は、Pythonの公式サイトよりPythonをインストールする方法と、Anacondaを利用する方法があります。
Anacondaとは、Pythonのライブラリやプログラム開発に便利なツールが揃えているプラットフォーム(動作環境)です。そしてAnacondaは、一緒にNumpyもインストールされるので設定すればすぐに利用できます。つまり、AnacondaではNumpyのインストールが必要ありません。
以上がNumpyのインストール時の注意点です。
さて今回は、Numpyのインストール方法や注意点などをお伝えしました。NumpyとはPythonライブラリの一つです。
Pythonには、インストール時についてくる標準ライブラリと、外部の団体などで作られた外部ライブラリが数えきれないほどあります。そのうちの代表的なライブラリは、次の通りです。
【標準ライブラリ】
- random・・・乱数(ランダムの数値)が作れる
- math・・・数学の複雑な計算処理ができる
- datetime・・・日付や時間を取得できる
【外部ライブラリ】
- Pandas・・・Python上で動くデータ処理や分析に使用できる
- Matplotlib・・・読み込んだデータをグラフや画像にして可視化する
- SciPy・・・配列や行列、統計などの計算ができる
AI(人工知能)に多用されているPythonには、開発に使う機械学習に必要な、大量のデータを処理する高度な計算プログラムをまとめた機械学習ライブラリを備えています。それが上記のPandas、Matplotlib、SciPyであり、Numpyです。Numpyは数値計算を効率よく実行できるライブラリで、主な特徴は次の2つ。
- 速いプログラムの実行速度
- 多次元配列の数値データを扱うのが得意
機械学習では大量のデータを多次元配列にして効率よく計算をします。そこで数値データを多次元配列で高速処理できるので、機械学習に使われているのがNumpy。
Numpyの多次元配列をndarrayといい、それを作る基本的な使い方は次の通りです。
a = np.array([l, 2, 3 ,4 ,5])
print(a)
[1 2 3 4 5] ← 出力結果
a = np.array([[l, 2, 3,], [4, 5, 6]])
print(a)
[[1 2 3] [4 5 6]] ← 出力結果
a=np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(a)
[[[ 1 2 3] [ 4 5 6]] [[7 8 9] [10 11 12]]] ← 出力結果
そして、Numpyのインストール方法で一般的に行われている、pipを使った方法は、Windowsはコマンドプロンプト、MacOSはターミナルに次のコードを入力して実行します。
ただし、次の2つのことに注意してください。
- Numpyをインストールする前にpipは最新バージョンに更新する
- Anacondaを使用している場合、Numpyのインストールは必要ない
機械学習のデータ処理でNumpyは欠かせないライブラリです。今回紹介した内容が、これから機械学習に挑む初心者の参考になれば幸いです。Numpyをインストールして、AI(人工知能)開発に挑戦しましょう。
【お知らせ】
当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。
御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。