Math.Net数値を使用して、タスクを実行したいと思います:
各列を折り畳み、その列の値に私のベクトルのインデックスを掛けます。問題は、折り畳み関数のどれもカウンターを生成しないことです...そして折り畳み関数内でのカウントには問題があります...そしてforループはこの種のものにとって死です...
とにかく、理想的には次のようなことをします:
points.FoldByColumn(fun i acc x -> acc <- acc + x * coefficients_array.[i])
|> Array.map(fun x -> x + coefficients_array.[coefficients_array.length-1])
(これは F# 構文で記述されています)。
このステートメントは、Numpy ブロードキャストを使用した Python の次のステートメントとまったく同じです。
return (self.model_coefs[:-1] * points).sum(axis = 1) + self.model_coefs[-1]
それが行っているのは、一連のポイントにそれらの線形回帰係数を掛けて、それらを単一の予測ポイントに変換することです。
(または、.NET でこのようなことをしようとするのは、本当に頭がおかしいのでしょうか??)