NumPyでは、単位行列を作成するための関数が2つ用意されています。単位行列とは、対角線の要素が1、それ以外の要素が0で埋められた2次元配列であり、機械学習の「特徴量エンジニアリング」というステップでよく使われる重要な配列です。
この単位行列を作成するための関数は、以下の2つがあります。
- np.identity: NxN の正方形の単位行列を作成
- np.eye: NxM の任意の形状の単位行列を作成
このページでは、これらの関数を使って、単位行列を作成する方法を簡単に解説します。
1. 単位正方行列を作成
NumPyで単位正方行列を作成するには、np.identity
関数を使います。使い方は簡単です。この関数の引数に整数Nを渡すとNxNの単位正方行列を戻します。
import numpy as np
np.identity(3)
デフォルトのデータ型はfloat型ですが、オプション引数 dtype= で変更することが可能です。さらに詳しい使い方は以下のページをご覧ください。
2. 任意の形状の単位行列を作成
任意の形状NxMの単位行列を作成するには、np.eye
関数を使います。この関数の引数には、基本的に行数Nと列数Mの2つの引数を整数で渡します。
import numpy as np
np.eye(5, 4)
オプション引数 k= または、第三位置引数として整数を渡すと、対角線が始まる位置をずらすことも可能です。
np.eye(5, 4, -1)
デフォルトのデータ型はfloat型ですが、必要な時はデータ型やメモリレイアウトも変更することが可能です。詳しくは、以下のページでご確認ください。
3. まとめ
以上がNumPyで単位行列を作成する方法です。np.eye
関数は単位正方行列を作成します。np.identity
関数は任意の形状の単位行列を作成します。さらに、対角線の軸の位置も変更することが可能です。
必要に応じて使い分けると良いでしょう。
コメント