Heim > Artikel > Backend-Entwicklung > Wie konvertiere ich ein Array von Indizes in ein One-Hot-codiertes Array in NumPy?
Konvertieren eines Arrays von Indizes in ein One-Hot-codiertes Array in NumPy
Oft ist es notwendig, ein 1D-Array von Indizes zu transformieren in ein 2D-Array, wobei jede Zeile eine One-Hot-Codierung des entsprechenden Index im ursprünglichen Array darstellt.
Beispiel:
Lassen Sie uns ein 1D-Array von Indizes haben ' a':
<code class="python">a = np.array([1, 0, 3])</code>
Unser Ziel ist es, ein 2D-Array „b“ zu erstellen, wobei jede Zeile eine One-Hot-Codierung des entsprechenden Index in „a“ ist:
<code class="python">b = np.array([[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]])</code>
Lösung:
Um diese Transformation zu erreichen, können wir die folgenden Schritte verwenden:
<code class="python">b = np.zeros((a.size, a.max() + 1))</code>
<code class="python">b[np.arange(a.size), a] = 1</code>
Ausgabe:
Die Ausführung dieses Codes erzeugt das gewünschte One-Hot-codierte Array 'b':
<code class="python">[[ 0. 1. 0. 0.] [ 1. 0. 0. 0.] [ 0. 0. 0. 1.]]</code>
Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein Array von Indizes in ein One-Hot-codiertes Array in NumPy?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!