Heim >Backend-Entwicklung >Python-Tutorial >Wie werden Index-Arrays in NumPy One-Hot-codiert?

Wie werden Index-Arrays in NumPy One-Hot-codiert?

Linda Hamilton
Linda HamiltonOriginal
2024-10-30 22:50:03649Durchsuche

How to One-Hot Encode Index Arrays in NumPy?

One-Hot-Codierung von Index-Arrays in NumPy

Gegeben ein Array von Indizes, kann es in ein One-Hot-codiertes Array konvertiert werden eine nützliche Technik für verschiedene Anwendungen des maschinellen Lernens. One-Hot-Codierung stellt jeden Index als binären Vektor dar, wobei das entsprechende Element des Index 1 und alle anderen 0 sind. Diese Technik ist besonders wertvoll beim Umgang mit kategorialen Daten oder in Situationen, in denen die Indizes als Merkmalswerte dienen.

Um eine One-Hot-Codierung in NumPy zu erreichen, folgen wir einem einfachen Prozess:

  1. Erstellen Sie ein mit Null initialisiertes Array mit genügend Spalten, wobei die Anzahl der Spalten dem Maximalwert des Index entspricht Array plus eins.
  2. Setzen Sie für jede Zeile im resultierenden Array die Spalte, die dem Index in dieser Zeile entspricht, auf 1.

Betrachten Sie das bereitgestellte Beispiel:

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

In diesem Beispiel hat das Indexarray a Werte im Bereich von 0 bis 3, also erstellen wir ein mit Nullen gefülltes Array b mit 4 Spalten. Anschließend verwenden wir die Funktion np.arange(), um ein Array von Zeilenindizes für b zu generieren und die entsprechenden Spalten basierend auf den Werten in a auf 1 zu setzen.

Das resultierende Array b ist jetzt One-Hot-codiert Darstellung des ursprünglichen Index-Arrays a:

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

Dieses One-Hot-codierte Array bewahrt die kategoriale Natur der Indexwerte und ermöglicht eine effiziente Verarbeitung in maschinellen Lernalgorithmen.

Das obige ist der detaillierte Inhalt vonWie werden Index-Arrays in NumPy One-Hot-codiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn