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