【Python】MAEとRMSEの計算方法



1. 目的
2. 準備
3. 必要なpackageのdownload
4. 必要なmoduleのimport
5. CSVファイルの読み込み
6. 2変数の定義
7. MAEの計算
8. RMSEの計算
9. 使用したコードまとめ


1. 目的

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

2. 準備

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

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

3. 必要なpackageのdownload

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

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

4. 必要な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

5. CSVファイルの読み込み

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


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

6. 2変数の定義

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


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

7. MAEの計算

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


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

8. RMSEの計算


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

9. 使用したコードまとめ

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

# 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))

Print Friendly, PDF & Email

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください