簡體   English   中英

Python中的Matlab函數等價

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM