#59 Section 14 回帰(3)モデルの評価・比較

-- Views

February 09, 26

スライド概要

PyCaretのcompare_modelsは、利用可能な全アルゴリズムを一括で訓練し、交差検証の結果を一覧表示します。

回帰分析では、主に以下の指標で性能を評価します。

●MAE(平均絶対誤差): 誤差の平均。直感的に理解しやすい指標です。

●MSE/ RMSE(二乗平均平方根誤差): 誤差を2乗するため、大きなミス(外れ値)に厳しいペナルティを与えます。重大な予測ミスを避けたい場合に重視します。決定係数 ($R^2$): モデルがデータの変動をどれだけ説明できているかを示し、1に近いほど高性能です。

●MAPE(平均絶対パーセント誤差): 誤差を比率(%)で表します。10%未満なら非常に高精度とされ、スケールの異なるデータ比較に便利です。

指標には「平均的なズレを見る」「大きなミスを防ぐ」といった各々の得意分野があります。ビジネス目的に合わせて最適な指標を選び、それに基づきcreate_modelで最終的なモデルを決定する流れが重要です。

profile-image

すべてのビジネスパーソンが意思決定プロセスにデータを活用する思考を身につけるため、まずは、データサイエンスの分析を体験していきましょう。SECIモデルの最初の段階、共同化(Socialization)からはじめていきます。 下記のブログで、ここにアップしたスライド、動画を随時、公開中です。 【ブログ】https://tutorial4datascience.blogspot.com/ 【Youtubeチャンネル】https://www.youtube.com/@DataScience_for_everyone 【Kindle】そして、このブログをまとめて書籍にしました!   https://amzn.to/4ryVppn   https://amzn.to/4pGgFb1

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

4th STEP 機械学習 前処理 Section 14 回 帰(3) モデルの評価・比較 Setup Compare Models Analyze Model データサイエンス チュートリアル Prediction Save Model 1

2.

4th STEP 機械学習 Section14 回帰(3) モデルの評価・比較 compare_models 関数 下記のいずれかを実行させてみてください。 『compare_models』関数は、ライブラリで使用可能なすべてのアルゴリズム(PyCaretでは『モデル』と言います)を交差 検証を用いて訓練し、評価指標を算出して性能を評価します。この関数の出力は、交差検証での平均スコアを含む評価指 標一覧(次スライド参照)で、様々なアルゴリズムの性能を比較できます。 関数型API 2行目の「#」を削除して、実行してみましょう! オブジェクト指向API compare_models(sort=“評価指標”) → 任意の指標で結果を並べ替えることができます。 データサイエンス チュートリアル 2

3.

4th STEP 機械学習 Section14 回帰(3) モデルの評価・比較 compare_models 関数の出力 compare_models関数を使った前のスライドのコードを入力すると、下記の結果が出力されます。 モデルの名称 モデルの略称 平均二乗誤差 平均絶対誤差 決定係数 二乗平均平方根誤差 モデル 対数平方平均二乗誤差 評価指数 平均絶対パーセント誤差 ※ デフォルトで決定係数(R2)の 降順に表示されます! モデルの学習と評価にかかった合計時間(秒) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 以下、続く ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ データサイエンス チュートリアル 3

4.

4th STEP 機械学習 Section14 回帰(3) モデルの評価・比較 平均絶対誤差(MAE/Mean Absolute Error) 平均絶対誤差(MAE/Mean Absolute Error)は、各データに対して「予測値と正解値の差(誤差)」の絶対値を 計算し、その総和をデータ数で割った値(平均値)を算出したもの。 データの総数 平均絶対誤差 予測値 正解値 平均絶対誤差に普遍的な目安はありませ んが、数値が小さいほど予測精度が高いと 評価されます。 平均絶対誤差はあくまで相対的な指標で すから、過去の類似データで比較したり、複 数のモデルで比較する等して使用します。 データの総数 【参考】 https://atmarkit.itmedia.co.jp/ait/articles/2105/19/news022.html データサイエンス チュートリアル 4

5.

4th STEP 機械学習 Section14 回帰(3) モデルの評価・比較 平均二乗誤差(MSE/Mean Squared Error) 平均二乗誤差(MSE/Mean Squared Error)は、各データに対して「予測値と正解値の差(誤差)」の二乗の総和 を計算し、その総和をデータ数で割った値(平均値)を算出したもの。 データの総数 平均二乗誤差 予測値 正解値 平均二乗誤差に普遍的な目安はありませんが、 0に近いほど予測値と実測値の差(誤差)が 小さいことを示します。 誤差を2乗するため、大きな誤差(外れ値)が 評価に与える影響が大きくなります。 データの総数 平均二乗誤差はあくまで相対的な指標ですから、 過去の類似データで比較したり、複数のモデルで 比較する等して使用します。 【参考】 https://atmarkit.itmedia.co.jp/ait/articles/2105/24/news019.html データサイエンス チュートリアル 5

6.

4th STEP 機械学習 Section14 回帰(3) モデルの評価・比較 二乗平均平方根誤差(RMSE/Root Mean Squared Error) 二乗平均平方根誤差(RMSE/Root Mean Squared Error)は、平均二乗誤差(MSE)の平方根。 二乗平均平方根誤差に普遍的な目 安はありませんが、0に近いほど予測値 と実測値の差(誤差)が小さいこと を示します。 データの総数 二乗平均平方根誤差 予測値 正解値 データの 総数 誤差を2乗するため、大きな誤差(外 れ値)が評価に与える影響が大きく なります。 二乗平均平方根誤差はあくまで相対 的な指標ですから、過去の類似データ で比較したり、複数のモデルで比較す る等して使用します。 【参考】 https://atmarkit.itmedia.co.jp/ait/articles/2105/24/news019.html データサイエンス チュートリアル 6

7.

4th STEP 機械学習 Section14 回帰(3) モデルの評価・比較 決定係数(R2) 決定係数(R2/R2)は、目的変数が十分に説明されているかどうかを数値化したもので、下記の式で算出されます。 相関係数を二乗した値で、寄与率と呼ばれることもあります。 正解値 予測値 決定係数に普遍的な目安はありませんが、比率(割 合)としての意味合いを持つため、0以上1以下の値 となります。 決定係数 決定係数が1に近い高い値の時、説明変数は目的変 数を十分に説明できていると言えます。 n:データの総数 正解値 正解値全体の平均値 逆に、0に近い低い値の時、説明変数は目的変数を 十分に説明できているとは言えません。 【参考】 https://best-biostatistics.com/correlation_regression/r-square.html データサイエンス チュートリアル 7

8.

4th STEP 機械学習 Section14 回帰(3) モデルの評価・比較 対数平方平均二乗誤差(RMSLE) 対数平方平均二乗誤差(RMSLE)は、二乗平均平方根誤差(RMSE)に似ていますが、下記の式で算出されま す。真値と予測値の対数をとってから計算する点が異なります。 対数変換を取り入れることで、スケールの調整、対称性の確保、異常値の影響の軽減など、多くのメリットがあります。特に データの範囲が広く、外れ値が存在する場合や、相対的な誤差を重視する場合に適しています。 対数平方平均二乗誤差 データの総数 【参考】 正解値 予測値 対数平方平均二乗誤差は、0が理論 上の最適値であり、最も値が小さいモデ ルが最も優れた予測性能を持つと評価 されます。 https://atmarkit.itmedia.co.jp/ait/articles/2106/02/news021.html データサイエンス チュートリアル 8

9.

4th STEP 機械学習 Section14 回帰(3) モデルの評価・比較 平均絶対パーセント誤差(MAPE) 平均絶対パーセント誤差(MAPE)は、各データに対して「予測値と正解値との差を、正解値で割った値の絶対値を計 算した後、その総和をデータ数で割った指標です。 平均絶対誤差(MAE)では絶対値の差で比較しましたが、MAPEでは±○○パーセントズレているかの平均で求めます。 予測値 正解値 平均絶対パーセント誤差 平均絶対パーセント誤差が、0%の時は、予測値が すべて実測値と完全に一致している理想的な状態 です。 一般的な目安としては、以下の基準が用いられること があります。 n:データの総数 【参考】 正解値 10%未満 10%~20% 20%~50% 50%超 非常に高い精度 良好な精度 妥当な(許容できる)精度 精度が低い https://atmarkit.itmedia.co.jp/ait/articles/2106/09/news028.html データサイエンス チュートリアル 9

10.

4th STEP 機械学習 Section14 回帰(3) モデルの評価・比較 各評価指標の使い分け 今まで説明してきた各評価指標には、モデルの性能を測る 上での「得意分野」や「特徴」があります。主な評価指標と使 い分けをまとめておきます。 ●平均絶対パーセント誤差: 誤差をパーセントで示すため、 異なるスケールのデータセット間でのモデル比較や、相対 的な誤差の大きさを評価したい場合に便利です。 ●決定係数: モデルがどれだけデータの変動を説明できてい るか(適合度)を示します。予測の全体的な当てはまり を見たい場合に有用です。 業務上では、次のような使い分けができるでしょう。 ●平均絶対誤差・二乗平均平方根誤差: 予測値と実測 値の間の誤差の大きさを示します。 ・ 二乗平均平方根誤差は大きな誤差により大きなペナ ルティを与えるため、外れ値の影響を受けやすいです が、 大きな予測ミスを避けたい場合に重要です。 ・ 平均絶対誤差は誤差の絶対値の平均で、誤差の 平均的な大きさを直感的に理解しやすい指標です。 ◆大きな予測ミスを絶対に避けたい場合 →大きな誤差に厳しい指標である二乗平均平方根誤差 ◆予測の平均的な誤差を最も重視したい場合 →誤差の絶対値の平均で直感的な平均絶対誤差 また、複数の評価指標を見ることで、高い説明力(決定係 数)と低い予測誤差(平均絶対誤差・二乗平均平方根誤 差)という、モデル設計におけるトレードオフを適切に評価でき ます。 データサイエンス チュートリアル 10

11.

4th STEP 機械学習 Section14 回帰(3) モデルの評価・比較 モデルの呼び出しと確認 コードの続きを見てみましょう。『compare_models』関数の次のコードは、『create _model』関数モデルを呼び出して 確認しています。 このcompare_models関数の出力で、一番左の『モデルの略称』を『‘ ’』で囲んで()内に記入すると、そのモデルの各評 価指標の一覧が算出されます。そしてそのモデルは、『best』と名付けられました。 データサイエンス チュートリアル

12.

4th STEP 機械学習 Section14 回帰(3) モデルの評価・比較 compare_modelsの出力 『compare_models()』の結果では、モデルの略称『gbr』、すなわち『Gradient Boosting Regressor』(勾配ブース ティング回帰)が最も決定係数の値が高いのですが、このチュートリアルでは、それに準ずる『catboost』を選択しています。 もっとも、略称『catboost』である『CatBoost Regressor』は勾配ブースティングの一種なので、『create_model』 関数 で出た結果は、各指標ともにそれほど違いはありません。 データサイエンス チュートリアル