95

2 つの行列間の平均二乗誤差を計算するための numpy の方法はありますか?

検索してみましたが、見つかりませんでした。別名義ですか?

そうでない場合、どのようにこれを克服しますか?自分で書いたり、別のライブラリを使用したりしますか?

4

6 に答える 6

129

以下を使用できます。

mse = ((A - B)**2).mean(axis=ax)

または

mse = (np.square(A - B)).mean(axis=ax)
  • ax=0平均は行に沿って各列に対して実行され、配列を返します
  • ax=1平均は列に沿って行ごとに実行され、配列を返します
  • ax=None平均は配列に沿って要素ごとに実行され、スカラー値を返します
于 2013-08-04T20:54:36.623 に答える
44

これは の一部ではありませんが、オブジェクトnumpyで機能しnumpy.ndarrayます。はnumpy.matrixに変換できnumpy.ndarraynumpy.ndarrayは に変換できますnumpy.matrix

from sklearn.metrics import mean_squared_error
mse = mean_squared_error(A, B)

軸の制御方法に関するドキュメントについては、Scikit Learn mean_squared_errorを参照してください。

于 2016-04-03T16:17:06.860 に答える