Maison >développement back-end >Tutoriel Python >Comment convertir des tableaux d'index en tableaux codés à chaud dans NumPy ?

Comment convertir des tableaux d'index en tableaux codés à chaud dans NumPy ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-01 03:08:01655parcourir

How to Convert Index Arrays to One-Hot Encoded Arrays in NumPy?

Tableaux d'index d'encodage à chaud dans NumPy

Dans NumPy, la conversion d'un tableau d'index 1D en un tableau 2D encodé à chaud est une tâche commune. Par exemple, étant donné le tableau a avec les indices [1, 0, 3], nous voulons l'encoder comme :

b = [[0,1,0,0], [1,0,0,0], [0,0,0,1]]

Pour y parvenir, il y a deux étapes clés :

  1. Créez un tableau mis à zéro : Créez un tableau 2D b avec suffisamment de colonnes (c'est-à-dire a.max() 1) pour accueillir les valeurs codées à chaud. Le tableau doit être initialisé avec des zéros.
  2. Définissez les valeurs appropriées sur 1 : Pour chaque ligne i dans b, définissez la a[i]ème colonne sur 1. Cela indique que l'index d'origine a[i] est présent à la position i dans le tableau codé à chaud.

Voici un exemple de code pour illustrer :

<code class="python">import numpy as np

a = np.array([1, 0, 3])
b = np.zeros((a.size, a.max() + 1))
b[np.arange(a.size), a] = 1

print(b)</code>

Sortie :

[[0. 1. 0. 0.]
 [1. 0. 0. 0.]
 [0. 0. 0. 1.]]

Cette méthode convertit efficacement le tableau d'indices en un tableau codé à chaud, où chaque ligne représente une valeur codée à chaud de l'index correspondant dans a.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn