NumPy でのインデックス配列のワンホット エンコーディング
インデックスの配列を指定すると、それをワンホット エンコードされた配列に変換できます。さまざまな機械学習アプリケーションに役立つテクニックです。ワンホット エンコーディングは、各インデックスをバイナリ ベクトルとして表します。インデックスの対応する要素は 1 で、その他の要素はすべて 0 です。この手法は、カテゴリ データを扱う場合、またはインデックスが特徴値として機能する状況で特に役立ちます。
NumPy でワンホット エンコーディングを実現するには、次の簡単なプロセスに従います。
次の例を考えてみましょう。
<code class="python">a = np.array([1, 0, 3]) b = np.zeros((a.size, a.max() + 1)) b[np.arange(a.size), a] = 1</code>
この例では、インデックス配列 a の値は 0 から 3 までの範囲なので、4 列のゼロ埋め配列 b を作成します。次に、np.arange() 関数を使用して b の行インデックスの配列を生成し、a の値に基づいて適切な列を 1 に設定します。
結果の配列 b はワンホット エンコードされます。元のインデックス配列の表現 a:
array([[ 0., 1., 0., 0.], [ 1., 0., 0., 0.], [ 0., 0., 0., 1.]])
このワンホット エンコードされた配列は、インデックス値のカテゴリカルな性質を保持し、機械学習アルゴリズムでの効率的な処理を可能にします。
以上がNumPy でインデックス配列をワンホット エンコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。