我想從某個向量x=(x_1,x_2, ..., x_I)
獲得矩陣,其中矩陣中的每一行對應於x(i) := (x_1,...,x_{i-1},x_{i+1},...,x_I)
。python leave-one-out估計
我知道
from sklearn.cross_validation import LeaveOneOut
I = 30
myrowiterator = LeaveOneOut(I)
for eachrow, _ in myrowiterator:
print(eachrow) # prints [1,2,...,29]
# [0,2,...,29] and so on ...
提供一個例程,以獲得每一行用於上述基質。但我寧願直接在一個步驟中獲得矩陣,直接在這個矩陣上操作,而不是循環遍歷它的行。這會爲我節省一些計算時間。
哇(+1)。我認爲如果答案中包含了對idx [1:] - (idx [:, None]> = idx [1:])魔法的直觀解釋,那將會非常棒。 :-) – NPE 2015-01-21 09:28:09
啊,我明白了。非常好。 '(idx [:, None]> = idx [1:])'與np.tril(np.ones((N,N-1)),k = -1)'基本相同。謝謝。 – user3820991 2015-01-21 10:15:25
但是魔術師永遠不會透露它的祕密,@NPE! ;-)我最後的編輯確實提供了一個相同的事物的可讀性更高的版本。 – Jaime 2015-01-21 15:05:06