2

このようなNMatrix配列があります

x = NMatrix.new([3, 2], [3, 5, 5, 1, 10, 2], dtype: :float64)

各列を列に沿った最大値で割りたいと思います。

numpyを使用すると、これは次のように達成されます

Y = np.array(([3,5], [5,1], [10,2]), dtype=float)
Y = Y / np.amax(Y, axis = 0)

しかし、これを試すとNMatrixはこのエラーをスローします

X = X / X.max
The left- and right-hand sides of the operation must have the same shape. (ArgumentError)

編集

このチュートリアルに従おうとしています。また、入力をスケーリングするために、チュートリアルでは各列をその列の最大値で割ります。私の質問は、nmatrix を使用してそのステップを達成する方法です。

私の質問は、NMatrix で同じことを達成する方法です。

ありがとう!

4

3 に答える 3

0

答えてくれてありがとう!

次のスニペットを使用して動作させました。

x = x.each_row.map do |row|
  row / x.max
end

これがどれほど効率的かはよくわかりませんが、共有したかっただけです。

于 2016-03-10T11:03:55.887 に答える