Numpyのzeros関数について解説します。
概要
Numpyのzeros関数は要素が0のみの配列を生成する関数です。
APIドキュメントでは以下のようになっています。
numpy.zeros(shape, dtype = None, order = ‘C’)
params:
パラメータ名 | 型 | 概要 |
---|---|---|
shape | intまたは intのタプル | 生成する配列のshape を指定します。 |
dtype | dtype データ型 | (省略可能)初期値float 生成する配列の要素のデータ型を指定します。 デフォルトは float64 となっています。 |
order | ‘C’または’F’ | (省略可能)初期値’C’C /F のいずれかを指定します。デフォルトはC 。配列のデータの並べ方を指定します。 |
returns:
指定されたshape
を持つ、0
を要素とするndarrayが返されます。
zeros関数には3つの引数があります。
第1引数では、配列の形状を指定し、第2引数で要素のデータ型を指定します。
第3引数ではデータの変換順序を変えることが出来るのですが、使うことはあまりありません。
使い方
実際の実行結果を見てみます。
a = np.zeros(4)
b = np.zeros((3,4))
print(a)
print(b)
//[0. 0. 0. 0.]
//[[0. 0. 0. 0.]
// [0. 0. 0. 0.]
// [0. 0. 0. 0.]]
1つの数値を引数とした場合は、(引数)x1行列となります。
複数の数値をコンマで区切り()で囲むことによって多次元配列を生成することも可能です。
zeros()関数の具体的な使用例としては、one-hot表現の実現です。
one-hot表現とは配列の要素を1つだけ1にして、他の要素を0とする表現です。
詳しい説明は省きますが、one-hot表現は機械学習での分析などを手助けできます。
コードの実装例としては、次のような感じです。
a = np.zeros(4)
a_hot = np.zeros((len(a), 4))
for i in range(len(a)):
a_hot[i, i] = 1
print(a_hot)
//[[1. 0. 0. 0.]
// [0. 1. 0. 0.]
// [0. 0. 1. 0.]
// [0. 0. 0. 1.]]
まとめ
- ・zeros()関数によって要素が0のみの配列を生成することが出来る
- ・多次元配列を生成することも可能
- ・zeros()関数はone-hot表現などに利用できる
コメント