【初心者向け】基礎&実践プログラミング

初心者がつまづきやすいところ、最短で実力が身につく方法をお伝えします。

【Python】MAEとRMSEの計算方法

f:id:AIProgrammer:20200430005230p:plain

目的

Pythonを使って平均絶対誤差(Mean Absolute Error:MAE)と二乗平均平方根誤差(Root Mean Squared Error:RMSE)を計算する。

準備

CSVファイルに2変数のデータを書き込む。 1列目はLabel、2列目はAIの予測値(Predicted)。 今回はdata.csvとして保存する。

label predicted
0.11 -0.615615
0.86 0.29520833
. .
. .
. .
-0.14 -0.2419486

必要なpackageのdownload

Terminal(端末)を開いて、以下のコマンドをタイプして必要なパッケージをダウンロードする。 コピペするときに$マークは抜いてコピペしてください。 $には実は意味がありますが、ここでは省略...

$ sudo pip3 install pandas
$ sudo pip3 install numpy
$ sudo pip3 install scikit-learn

必要なmoduleのimport

TermitalでPythno3を起動し、以下のコマンドを実行することで計算に必要なmoduleをimportする。

# CSVを読み込み用
import pandas as pd
# Mean Absolute Error(MAE)用
from sklearn.metrics import mean_absolute_error
# Root Mean Squared Error(RMSE)用
from sklearn.metrics import mean_squared_error
import numpy as np

CSVファイルの読み込み

比べたい2変数が保存されているdata.csvから値を取り出す。 ファイル名がdata.csv出ない場合は、data.csvの部分を適宜変えてください。

# CSV読み込み
data = pd.read_csv('data.csv')

2変数の定義

labelとAIの予測値(predicted)を定義。

## label data
label = data['label']
## AI predicted data
pred = data['predicted']

MAEの計算

以下のコマンドでMAEを計算できる。 {:.3f}と書いてやることで小数点以下3桁だけ表示する。

mae = mean_absolute_error(label, pred)
print('MAE : {:.3f}'.format(mae)) # {:.3f}で小数点以下は3桁で表示

RMSEの計算

#RMSE計算
rmse = np.sqrt(mean_squared_error(label, pred))
print('RMSE : {:.3f}'.format(rmse))

使用したコードまとめ

以下に使用したコードをまとめたものを記載しておく。

# CSVを読み込み用
import pandas as pd
# Mean Absolute Error(MAE)用
from sklearn.metrics import mean_absolute_error
# Root Mean Squared Error(RMSE)用
from sklearn.metrics import mean_squared_error
import numpy as np

# CSV読み込み
data = pd.read_csv('data.csv')
## label data
label = data['label']
## AI predicted data
pred = data['predicted']

# MAE計算
mae = mean_absolute_error(label, pred)
print('MAE : {:.3f}'.format(mae)) # {:.3f}で小数点以下は3桁で表示

# RMSE計算
rmse = np.sqrt(mean_squared_error(label, pred))
print('RMSE : {:.3f}'.format(rmse))



頑張れ!喝!!の代わりにB!ブックマークを押していただけるとただただうれしいです(^^)! ↓