[英]Matlab Function equivalence in Python
我在 Matlab 中編寫代碼,必須返回一個矩陣,該矩陣給出 0 或 1 來表示原始矩陣中的元素。
我想知道是否有與上述相同的 python 等價物,而無需運行嵌套循環來實現相同的結果。
c = [2; 1; 3]
temp = eye(3,3)
d = temp(c,:)
d 矩陣需要告訴我原始矩陣中存在什么數字。 i = 1, j = 2 如果 1 告訴我原始矩陣的第一個元素是 2
該代碼的“直接”等價物是這樣的(注意 0-indexing,與 matlab 的 1-indexing 相比)
import numpy
c = numpy.array( [1, 0, 2] )
temp = numpy.eye( 3 )
d = temp[c, :]
這是官方 numpy 文檔中有關如何使用“索引數組”進行索引的文檔的鏈接
但是,通常您在上面所做的稱為“one hot”編碼(或“one-of-K”,根據 Bishop2006)。 各種機器學習工具包中都有針對一種熱編碼的專門方法,它們具有一些優勢,因此您可能更願意查找這些方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.