亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 One-Hot 編碼矩陣編碼為單數組整數編碼

將 One-Hot 編碼矩陣編碼為單數組整數編碼

GCT1015 2024-01-27 14:56:01
我有一個現有的矩陣:array([[0, 1, 0, ..., 0, 1, 0],       [0, 0, 1, ..., 0, 0, 1],       [1, 0, 0, ..., 0, 0, 0],       [0, 0, 0, ..., 1, 0, 0]])我想對這些行進行編碼,這樣我就得到一個 (1, columns) 數組,其中的整數對應于哪一行value == 1預期輸出[3, 1, 2, ..., 4, 1, 2]邊緣情況(加)如果您想提供更多幫助,我可能會遇到矩陣如下所示的情況:array([[0, 1, 0, ..., 0, 1, 0],       [0, 0, 0, ..., 0, 0, 1],       [1, 0, 0, ..., 0, 0, 0],       [0, 1, 0, ..., 1, 0, 0]])您可以看到第 1 列和第 2 列(從 0 開始索引)有 2 個值 1 或根本沒有任何值。在這些情況下,我希望它做的是:填充兩行 -> 返回該組合的新值(例如 5,6,7)沒有填充行 -> 返回一個新值(例如 0)
查看完整描述

1 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

對于第一個問題:


np.argmax(arr, axis=0) + 1

對于擴展問題:


def get_idx(x):

    ret = np.where(x)

    return ret[0] + 1 if len(ret[0]) else np.array([0])


[get_idx(a[:,i]) for i in range(a.shape[1])]


# out:

# [array([3]), array([1, 4]), array([0]), array([4]), array([1]), array([2])]


查看完整回答
反對 回復 2024-01-27
  • 1 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號