Maison  >  Article  >  développement back-end  >  Comment encoder à chaud des tableaux d'index dans NumPy ?

Comment encoder à chaud des tableaux d'index dans NumPy ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 22:50:03566parcourir

How to One-Hot Encode Index Arrays in NumPy?

Encodage à chaud des tableaux d'index dans NumPy

Étant donné un tableau d'indices, sa conversion en un tableau encodé à chaud peut être une technique utile pour diverses applications d’apprentissage automatique. Le codage à chaud représente chaque index sous la forme d'un vecteur binaire, où l'élément correspondant de l'index est 1 et tous les autres sont 0. Cette technique est particulièrement utile lorsqu'il s'agit de données catégorielles ou dans des situations où les indices servent de valeurs de caractéristiques.

Pour réaliser un encodage à chaud dans NumPy, nous suivons un processus simple :

  1. Créez un tableau initialisé à zéro avec suffisamment de colonnes, où le nombre de colonnes est égal à la valeur maximale de l'index tableau plus un.
  2. Pour chaque ligne du tableau résultant, définissez la colonne correspondant à l'index de cette ligne sur 1.

Considérez l'exemple fourni :

<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>

Dans cet exemple, le tableau d'index a a des valeurs allant de 0 à 3, nous créons donc un tableau b rempli de zéros avec 4 colonnes. Nous utilisons ensuite la fonction np.arange() pour générer un tableau d'indices de ligne pour b et définir les colonnes appropriées sur 1 en fonction des valeurs de a.

Le tableau résultant b est maintenant un encodage à chaud représentation du tableau d'index d'origine a :

array([[ 0.,  1.,  0.,  0.],
       [ 1.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  1.]])

Ce tableau codé à chaud préserve la nature catégorique des valeurs d'index et permet un traitement efficace dans les algorithmes d'apprentissage automatique.

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