大家好
之前原本想用 javascript 寫 linucb 演算法來實作
但是發現自己數學太爛,沒有python 的 np 完全寫不出來
但是有寫一些小函式給大家參考參考
這函式主要是用來 一階陣列 outer 外積 一階陣列
我有比對 np.outer 結果是一樣的
但是由於本人數學不好
不確定是不是百分百正確
給大家參考囉
(其實我連 outer 與 dot 分別都搞不清楚...)
function outer1D1DArray(t1, t2){ var t3 = []; for (t1k in t1){ for (t2k in t2){ if (typeof t3[t1k] != 'object') { t3[t1k] = []; } if (typeof t3[t1k][t2k] != 'number') { t3[t1k][t2k] = 0; } t3[t1k][t2k] = t1[t1k] * t2[t2k]; } } return t3; } var a = [1,2,3]; var b = [4,5,6,7]; outer1D1DArray(a, b); //產生: [4, 5, 6, 7] [8, 10, 12, 14] [12, 15, 18, 21]
在 python
import numpy as np a = np.array([1,2,3]) b = np.array([4,5,6,7]) print(np.outer(a, b)) [[ 4 5 6 7] [ 8 10 12 14] [12 15 18 21]]
留言板
歡迎留下建議與分享!希望一起交流!感恩!