Main Content

回帰学習器におけるモデルの性能の可視化と評価

回帰学習器で回帰モデルに学習させた後で、モデルの統計量に基づくモデルの比較、応答プロットまたは予測応答と実際の応答のプロットによる結果の可視化、残差プロットによるモデルの評価を行うことができます。

  • k 分割交差検証を使用した場合、k 個の検証分割内の観測値を使用してモデルの統計量が計算され、平均値が報告されます。検証分割内の観測値に対する予測が行われ、これらの予測がプロットに示されます。検証分割内の観測値に対する残差も計算されます。

    メモ

    既定の設定のままでデータをアプリにインポートすると、自動的に交差検証が使用されます。詳細については、検証方式の選択を参照してください。

  • ホールドアウト検証を使用した場合、検証分割内の観測値を使用してモデルの統計量が計算され、これらの観測値に対して予測が行われます。これらの予測はプロットで使用され、予測に基づいて残差の計算も行われます。

  • 再代入検証を使用した場合、スコアはすべての学習データに基づく再代入モデルの統計量、予測は再代入予測です。

[モデル] ペインにおける性能のチェック

回帰学習器でモデルに学習をさせた後で、[モデル] ペインをチェックして、どのモデルの総合スコアが最良かを調べます。[RMSE (検証)] が最高のスコアは、ボックスで強調表示されます。このスコアは検証セットの平方根平均二乗誤差 (RMSE) です。新しいデータに対する学習済みモデルの性能をスコアによって推定できます。このスコアは、最適なモデルの選択に役立ちます。

Models and their validation RMSE values displayed in the Models pane

  • 交差検証の場合、スコアはテスト用に確保した分以外のすべての観測値についての RMSE であり、ホールドアウト (検証) 分割に含まれていた各観測値が対象になります。

  • ホールドアウト検証の場合、スコアはホールドアウトされた観測値に対する RMSE です。

  • 再代入検証の場合、スコアはすべての学習データに対する再代入 RMSE です。

総合スコアが最高でも、目標に最適なモデルではないことがあります。総合スコアがわずかに低いモデルが目標に最適なモデルである場合もあります。過適合を回避するため、データ収集が高価または困難である予測子のいくつかを除外することが考えられます。

[概要] タブと [モデル] ペインでのモデルの統計量の表示

モデルの統計量をモデルの [概要] タブおよび [モデル] ペインに表示し、これらの統計量を使用してモデルの評価と比較を行うことができます。代わりに、[結果テーブル] タブを使用してモデルを比較することもできます。詳細については、テーブル ビューでのモデル情報と結果の比較を参照してください。

[学習結果] の統計量は検証セットに対して計算されます。[テスト結果] の統計量 (表示される場合) は、インポートしたテスト セットに対して計算されます。詳細については、テスト セットにおけるモデルの性能の評価を参照してください。

Sample model Summary tab

モデルの統計量

統計説明ヒント
RMSE平方根平均二乗誤差。RMSE は常に正であり、単位は応答の単位に一致します。値が小さい RMSE を探します。
決定係数決定係数。決定係数は常に 1 より小さく、通常は 0 より大きくなります。学習済みモデルを、応答が一定で学習応答の平均に等しいモデルと比較します。この定数モデルよりモデルが劣っている場合、決定係数は負になります。1 に近い決定係数を探します。
MSE平均二乗誤差。MSE は RMSE の 2 乗です。値が小さい MSE を探します。
MAE平均絶対誤差。MAE は常に正であり、RMSE に似ていますが、外れ値の影響は少なくなります。値が小さい MAE を探します。

さまざまなモデルの統計量に基づいてモデルを並べ替えることができます。統計量を選択してモデルを並べ替えるには、[モデル] ペインの上部にある [並べ替え] リストを使用します。

[モデル] ペインにリストされている不要なモデルの削除もできます。削除するモデルを選択してペインの右上にある [選択したモデルの削除] ボタンをクリックするか、[回帰学習器] タブの [モデル] セクションで [削除] をクリックするか、モデルを右クリックして [削除] を選択します。[モデル] ペインに最後に残ったモデルは削除できません。

テーブル ビューでのモデル情報と結果の比較

[概要] タブまたは [モデル] ペインを使用してモデルの統計量を比較する代わりに、結果のテーブルを使用できます。[回帰学習器] タブの [モデル] セクションで [結果テーブル] をクリックします。[結果テーブル] タブでは、モデルを学習やテストの結果のほか、それらのオプション (モデル タイプ、選択した特徴、PCA など) で並べ替えることもできます。たとえば、モデルを平方根平均二乗誤差で並べ替えるには、[RMSE (検証)] 列ヘッダーの並べ替え矢印をクリックします。上向き矢印は、RMSE が最も低いモデルから RMSE が最も高いモデルの順に並べ替えられていることを示します。

テーブルの列のオプションをさらに表示するには、テーブルの右上にある [表示する列の選択] ボタン をクリックします。[表示する列の選択] ダイアログ ボックスで、結果テーブルに表示する列のボックスをオンにします。新しく選択した列はテーブルの右側に追加されます。

Select Columns to Display dialog box

結果テーブル内でテーブルの列を手動でドラッグ アンド ドロップして、希望する順序で表示することができます。

[お気に入り] 列を使用して、いくつかのモデルをお気に入りとしてマークできます。お気に入りのモデルの選択内容は、結果テーブルと [モデル] ペインで一致するように維持されます。他の列と異なり、[お気に入り] 列と [モデル番号] 列はテーブルから削除できません。

テーブルから行を削除するには、行内のいずれかのエントリを右クリックし、[行を非表示] (行が強調表示されている場合は [選択した行を非表示]) をクリックします。連続する行を削除するには、削除する最初の行内のいずれかのエントリをクリックし、Shift キーを押して、削除する最後の行内のいずれかのエントリをクリックします。次に、強調表示されたエントリのいずれかを右クリックし、[選択した行を非表示] をクリックします。削除したすべての行を元に戻すには、テーブル内のいずれかのエントリを右クリックし、[すべての行を表示] をクリックします。復元された行はテーブルの一番下に追加されます。

テーブルの情報をエクスポートするには、テーブルの右上にあるいずれかのエクスポート ボタン を使用します。テーブルをワークスペースとファイルのどちらにエクスポートするかを選択します。エクスポートしたテーブルには、表示されている行と列のみが含まれます。

応答プロットにおけるデータと結果の確認

応答プロットを使用して回帰モデルの結果を確認します。応答プロットには、予測された応答とレコード番号が表示されます。回帰モデルに学習させた後、そのモデルの応答プロットがアプリで自動的に開きます。"すべて" のモデルに学習させた場合は、最初のモデルの応答プロットのみが開きます。別のモデルの応答プロットを表示するには、[モデル] ペインでモデルを選択します。[回帰学習器] タブの [プロットと解釈] セクションで矢印をクリックしてギャラリーを開き、[検証結果] グループの [応答] をクリックします。ホールドアウト検証または交差検証を使用している場合、予測された応答の値はホールドアウトされた (検証) 観測値に対する予測です。つまり、ソフトウェアでは、対応する観測値を使用せずに学習させたモデルを使用して各予測値を取得します。

結果を調べるには、右にあるコントロールを使用します。次が可能です。

  • 予測された応答および/または真の応答をプロットします。[プロット] のチェック ボックスを使用して選択を行います。

  • [誤差] チェック ボックスを選択すると、予測された応答と真の応答の間の垂直線として予測誤差が表示されます。

  • x 軸にプロットする変数を [X 軸] で選択します。レコード番号またはいずれかの予測子変数を選択できます。

    Response plot displaying true values as blue points, predicted values as yellow points, and errors as red vertical lines

  • [スタイル] で応答をマーカーまたは箱ひげ図としてプロットします。[箱ひげ図] を選択できるのは、x 軸の変数に一意な値がほとんど含まれていない場合だけです。

    箱ひげ図には、応答の代表的な値と外れ値の可能性がある値が表示されます。中央の印は中央値を、ボックスの上下の端はそれぞれ 25 番目と 75 番目の百分位数を示します。垂直線はひげと呼ばれ、ボックスから、外れ値とは見なされない最も極端なデータ点まで伸びます。外れ値は '+' 記号を使用して個別にプロットされます。箱ひげ図についての詳細は、boxplot を参照してください。

    Response plot displaying box plots for each country of origin. The blue box plots show the distribution of true response values, and the yellow box plots show the distribution of predicted response values.

アプリで作成した応答プロットを Figure にエクスポートする方法については、回帰学習器アプリのプロットのエクスポートを参照してください。

予測された応答と実際の応答のプロット

予測と実際のプロットを使用してモデルの性能をチェックします。このプロットを使用して、異なる応答値について回帰モデルがどの程度適切に予測を行うかを調べます。モデルに学習させた後で予測と実際のプロットを表示するには、[プロットと解釈] セクションで矢印をクリックしてギャラリーを開き、[検証結果] グループの [予測と実際 (検証)] をクリックします。

プロットを開くと、モデルの予測された応答が実際の真の応答に対してプロットされます。完璧な回帰モデルでは、予測された応答が真の応答と等しくなるので、すべての点が対角線上に配置されます。この線から点までの垂直距離は、その点についての予測誤差です。優れたモデルは誤差が小さく、予測が対角線の近くに分布します。

Plot of the predicted response versus the true response for a regression model

通常、優れたモデルでは点が対角線の近くでほぼ対称的に配置されます。プロットに明確なパターンがある場合、モデルを改善できる可能性があります。別のモデル タイプに学習させるか、モデルを複製してからモデルの [概要] タブの [モデルのハイパーパラメーター] オプションを使用して現在のモデル タイプをより柔軟にします。モデルを改善できない場合は、さらにデータが必要であるか、重要な予測子が欠けている可能性があります。

アプリで作成した予測と実際のプロットを Figure にエクスポートする方法については、回帰学習器アプリのプロットのエクスポートを参照してください。

残差プロットの使用によるモデルの評価

残差プロットを使用してモデルの性能をチェックします。モデルに学習させた後で残差プロットを表示するには、[プロットと解釈] セクションで矢印をクリックしてギャラリーを開き、[検証結果] グループの [残差 (検証)] をクリックします。残差プロットには、予測された応答と真の応答の差が表示されます。x 軸にプロットする変数を [X 軸] で選択します。真の応答、予測された応答、レコード番号、またはいずれかの予測子を選択します。

Plot of the residuals for a regression model

通常、優れたモデルでは残差が 0 の近くでほぼ対称的に配置されます。残差に明確なパターンがある場合、モデルを改善できる可能性があります。次のようなパターンを探します。

  • 0 の近くで対称的になっている残差ではない。

  • プロットの左から右に残差のサイズが大きく変化している。

  • 外れ値がある。つまり、他の残差よりはるかに大きい残差がある。

  • 明確な非線形パターンが残差にある。

別のモデル タイプに学習させるか、モデルを複製してからモデルの [概要] タブの [モデルのハイパーパラメーター] オプションを使用して現在のモデル タイプをより柔軟にします。モデルを改善できない場合は、さらにデータが必要であるか、重要な予測子が欠けている可能性があります。

アプリで作成した残差プロットを Figure にエクスポートする方法については、回帰学習器アプリのプロットのエクスポートを参照してください。

部分依存プロットを使用したモデルの解釈

部分依存プロット (PDP) では、学習済み回帰モデルの予測応答に対する各予測子の限界効果を可視化できます。回帰学習器でモデルに学習させた後、モデルの部分依存プロットを表示できます。[回帰学習器] タブの [プロットと解釈] セクションで矢印をクリックしてギャラリーを開きます。[解釈の結果] セクションで [部分依存] をクリックします。アプリによる部分依存の値の計算には、データ セット全体 (学習データと検証データを含み、テスト データは除く) で学習させた最終的なモデルが使用されます。

結果を調べるには、右にあるコントロールを使用します。

  • [データ] で、[学習セット][テスト セット] のどちらのデータを使用して結果をプロットするかを選択します。学習セットとは最終的なモデルの学習に使用されたデータを指し、テスト用に予約されていないすべての観測値を含みます。

  • [特徴][X] のリストを使用して、プロットする特徴量を選択します。プロットされた線は、予測子の値の平均予測応答に対応します。プロットの x 軸の目盛りは、選択されたデータ セット内の一意の予測子の値に対応します。

    PCA を使用してモデルに学習させる場合、[X] のリストから主成分を選択できます。

  • ズームインやズームアウト、またはプロットの移動を行います。ズームまたは移動は、PDP 上にマウスを合わせ、プロットの右上隅に表示されるツール バーの対応するボタンをクリックすることで有効になります。

Partial dependence plot that compares model predictions to weight values using the training data set

例については、Interpret Regression Models Trained in Regression Learner Appを参照してください。部分依存プロットの詳細については、plotPartialDependence を参照してください。

アプリで作成した PDP を Figure にエクスポートする方法については、回帰学習器アプリのプロットのエクスポートを参照してください。

レイアウトの変更によるモデル プロットの比較

[回帰学習器] タブの [プロットと解釈] セクションのプロット オプションを使用して、回帰学習器で学習させたモデルの結果を可視化します。プロットのレイアウトを再編成して複数のモデルの結果を比較できます。[レイアウト] ボタンのオプションを使用するか、プロットをドラッグ アンド ドロップするか、モデル プロットのタブの右にある [ドキュメント アクション] 矢印に表示されるオプションを選択します。

たとえば、回帰学習器で 2 つのモデルに学習させた後、次のいずれかの手順を使用して、各モデルのプロットを表示し、プロットのレイアウトを変更してプロットを比較します。

  • [プロットと解釈] セクションで、[レイアウト] をクリックし、[モデルの比較] を選択します。

  • 2 つ目のモデルのタブ名をクリックし、2 つ目のモデルのタブを右にドラッグ アンド ドロップします。

  • モデル プロットのタブの右端にある [ドキュメント アクション] 矢印をクリックします。[すべて並べて表示] オプションを選択し、1 行 2 列のレイアウトを指定します。

    Selections for a side-by-side model comparison using the Document Actions arrow

プロットの右上にある [プロット オプションを非表示] ボタン をクリックするとプロットのスペースを大きくできることに注意してください。

テスト セットにおけるモデルの性能の評価

回帰学習器でモデルに学習させた後、アプリでテスト セットにおけるモデルの性能を評価できます。このプロセスにより、新しいデータにおけるモデルの性能が検証メトリクスで適切に推定されるかどうかを確認できます。

  1. テスト データセットを回帰学習器にインポートします。あるいは、アプリにデータをインポートするときに一部のデータをテスト用に確保します ((オプション) 検定用のデータの確保を参照)。

    • テスト データ セットが MATLAB® ワークスペース内にある場合は、[回帰学習器] タブの [テスト] セクションで [テスト データ] をクリックし、[ワークスペースから] を選択します。

    • 検定データ セットがファイル内にある場合は、[テスト] セクションで [テスト データ] をクリックし、[ファイルから] を選択します。スプレッドシート、テキスト ファイル、コンマ区切り値 (.csv) ファイルなどのファイル タイプをリストから選択するか、[すべてのファイル] を選択して .dat など他のファイル タイプを参照します。

    [検定データのインポート] ダイアログ ボックスで、[検定データセット変数] のリストから検定データセットを選択します。テスト セットは、学習と検証のためにインポートした予測子と同じ変数をもたなければなりません。

  2. テスト セット メトリクスを計算します。

    • 単一のモデルのテスト メトリクスを計算するには、[モデル] ペインで学習済みモデルを選択します。[回帰学習器] タブの [テスト] セクションで [すべて検定] をクリックし、[選択項目を検定] を選択します。

    • すべての学習済みモデルのテスト メトリクスを計算するには、[テスト] セクションで [すべて検定] をクリックし、[すべて検定] を選択します。

    学習データと検証データを含むデータ セット全体 (テスト データは除く) で学習させた各モデルのテスト セットの性能が計算されます。

  3. 検証メトリクスとテスト メトリクスを比較します。

    モデルの [概要] タブの [学習結果] セクションと [テスト結果] セクションに、それぞれ検証メトリクスとテスト メトリクスが表示されます。検証メトリクスによってテスト メトリクスが適切に推定されるかどうかを確認できます。

    プロットを使用したテスト結果の可視化もできます。

    • 予測と実際のプロットを表示します。[回帰学習器] タブの [プロットと解釈] セクションで矢印をクリックしてギャラリーを開き、[テスト結果] グループの [予測と実際 (テスト)] をクリックします。

    • 残差プロットを表示します。[プロットと解釈] セクションで矢印をクリックしてギャラリーを開き、[テスト結果] グループの [残差 (テスト)] をクリックします。

例については、回帰学習器アプリにおけるテスト セットを使用したモデルの性能チェックを参照してください。ハイパーパラメーターの最適化ワークフローでテスト セット メトリクスを使用する例については、回帰学習器アプリのハイパーパラメーターの最適化を使用した回帰モデルの学習を参照してください。

関連するトピック