[Python]np.zeros()関数

Numpyのzeros関数について解説します。

スポンサーリンク

概要

Numpyのzeros関数は要素が0のみの配列を生成する関数です。

APIドキュメントでは以下のようになっています。

numpy.zeros(shape, dtype = None, order = ‘C’)

params:

パラメータ名概要
shapeintまたは
intのタプル
生成する配列のshapeを指定します。
dtypedtype
データ型
(省略可能)初期値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表現などに利用できる

コメント

タイトルとURLをコピーしました