大きい誤差には大きいペナルティ
すべての誤差は誤差ですが、同じ重さとは限りません。状況によっては、小さな誤差よりも大きな予測誤差のほうが影響がはるかに大きいことがあります。
大きい誤差には大きいペナルティ —— これが RMSE(root mean squared error、二乗平均平方根誤差)の特徴のひとつです。RMSE は誤差を二乗するため、大きな外れ値の誤差を小さな誤差より強く罰します。
RMSE は次の式で計算できます。ここで \(i\) 番目の squared_diff は、\(i\) 番目の誤差を二乗したものです。
$$RMSE = \sqrt{\frac{1}{n} \cdot \sum_{i=1} ^n i\text{th squared_diff}}$$
この演習では、予測の RMSE を計算します。
ワークスペースには前の演習の結果である test_enriched が用意されています。これはテストデータにモデルのサンプル外予測を表す新しい列 .pred を追加したものです。
この演習はコースの一部です
Rで学ぶTree-Based ModelsによるMachine Learning
演習の手順
- 予測値と最終成績の要素ごとの差を計算し、それを二乗して
squared_diffsとして保存します。 - 上の式を使って RMSE を計算し、
rmse_manualとして保存します。 rmse()関数を使って誤差を計算し、rmse_autoとして保存します。rmse_manualとrmse_autoを出力し、同じ値であることを確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Calculate the squared differences
squared_diffs <- (___ - ___)^___
# Compute the RMSE using the formula
rmse_manual <- ___(1 / ___ * ___)
# Compute the RMSE using a function
rmse_auto <- ___(___,
___,
___)
# Print both errors
___
___