NumPy 中索引數組的One-Hot 編碼
給定一個索引數組,將其轉換為One-hot 編碼數組可以是適用於各種機器學習應用的有用技術。 One-hot 編碼將每個索引表示為一個二進位向量,其中索引對應的元素為 1,所有其他元素為 0。這種技術在處理分類資料或索引作為特徵值的情況下特別有價值。
為了在NumPy 中實作one-hot 編碼,我們遵循一個簡單的過程:
考慮提供的範例:
<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 中對索引數組進行 One-Hot 編碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!