このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
回帰学習器におけるモデルの性能の可視化と評価
回帰学習器で回帰モデルに学習させた後で、モデルのメトリクスに基づくモデルの比較、応答プロットまたは予測応答と実際の応答のプロットによる結果の可視化、残差プロットによるモデルの評価を行うことができます。
"k" 分割交差検証を使用した場合、"k" 個の検証分割内の観測値を使用してモデルのメトリクスが計算され、平均値が報告されます。検証分割内の観測値に対する予測が行われ、これらの予測がプロットに示されます。検証分割内の観測値に対する残差も計算されます。
メモ
既定の設定のままでデータをアプリにインポートすると、自動的に交差検証が使用されます。詳細については、検証方式の選択を参照してください。
ホールドアウト検証を使用した場合、検証分割内の観測値を使用してモデルのメトリクスが計算され、これらの観測値に対して予測が行われます。これらの予測はプロットで使用され、予測に基づいて残差の計算も行われます。
再代入検証を使用した場合、値はすべての学習データに基づく再代入モデルのメトリクス、予測は再代入予測です。
[モデル] ペインにおける性能のチェック
回帰学習器でモデルに学習をさせた後で、[モデル] ペインをチェックして、どのモデルの総合スコアが最良かを調べます。[RMSE (検証)] が最高のスコアは、ボックスで強調表示されます。このスコアは検証セットの平方根平均二乗誤差 (RMSE) です。新しいデータに対する学習済みモデルの性能をスコアによって推定できます。このスコアは、最適なモデルの選択に役立ちます。
交差検証の場合、スコアはテスト用に確保した分以外のすべての観測値についての RMSE であり、ホールドアウト (検証) 分割に含まれていた各観測値が対象になります。
ホールドアウト検証の場合、スコアはホールドアウトされた観測値に対する RMSE です。
再代入検証の場合、スコアはすべての学習データに対する再代入 RMSE です。
総合スコアが最高でも、目標に最適なモデルではないことがあります。総合スコアがわずかに低いモデルが目標に最適なモデルである場合もあります。過適合を回避するため、データ収集が高価または困難である予測子のいくつかを除外することが考えられます。
[概要] タブと [モデル] ペインでのモデル メトリクスの表示
モデル メトリクスをモデルの [概要] タブおよび [モデル] ペインに表示し、これらのメトリクスを使用してモデルの評価と比較を行うことができます。代わりに、[結果テーブル] タブを使用してモデルを比較することもできます。詳細については、テーブル ビューでのモデル情報と結果の比較を参照してください。
[学習結果] のメトリクスは検証セットに対して計算されます。[テスト結果] のメトリクス (表示される場合) は、インポートしたテスト セットに対して計算されます。詳細については、テスト セットにおけるモデルの性能の評価を参照してください。
モデル メトリクス
統計 | 説明 | ヒント |
---|---|---|
RMSE | 平方根平均二乗誤差。RMSE は常に正であり、単位は応答の単位に一致します。 | 値が小さい RMSE を探します。 |
決定係数 | 決定係数。決定係数は常に 1 より小さく、通常は 0 より大きくなります。学習済みモデルを、応答が一定で学習応答の平均に等しいモデルと比較します。この定数モデルよりモデルが劣っている場合、決定係数は負になります。 | 1 に近い決定係数を探します。 |
MSE | 平均二乗誤差。MSE は RMSE の 2 乗です。 | 値が小さい MSE を探します。 |
MAE | 平均絶対誤差。MAE は常に正であり、RMSE に似ていますが、外れ値の影響は少なくなります。 | 値が小さい MAE を探します。 |
予測速度 | 検証データ セットの予測時間に基づく新しいデータの推定予測速度 | この推定にはアプリの内外のバックグラウンド処理が影響する可能性があるため、より正しい比較のために同様の条件でモデルに学習させます。 |
学習時間 | モデルの学習の所要時間 | この推定にはアプリの内外のバックグラウンド処理が影響する可能性があるため、より正しい比較のために同様の条件でモデルに学習させます。 |
モデル サイズ (コンパクト) | モデルをコンパクトなモデル (つまり学習データなし) としてエクスポートした場合のサイズ | ターゲット ハードウェア アプリケーションのメモリ要件に合ったモデル サイズの値を探します。 |
[モデル] ペインでは、さまざまなモデル メトリクスに基づいてモデルを並べ替えることができます。並べ替えに使用するメトリクスを選択するには、[モデル] ペインの上部にある [並べ替え] リストを使用します。[モデル] ペインでのモデルの並べ替えに、すべてのメトリクスを使用できるわけではありません。[結果テーブル] では、他のメトリクスでもモデルを並べ替えることができます (テーブル ビューでのモデル情報と結果の比較を参照)。
[モデル] ペインにリストされている不要なモデルの削除もできます。削除するモデルを選択してペインの右上にある [選択したモデルの削除] ボタンをクリックするか、モデルを右クリックして [削除] を選択します。[モデル] ペインに最後に残ったモデルは削除できません。
テーブル ビューでのモデル情報と結果の比較
[概要] タブまたは [モデル] ペインを使用してモデル メトリクスを比較する代わりに、結果のテーブルを使用できます。[学習] タブの [プロットと結果] セクションで [結果テーブル] をクリックします。[結果テーブル] タブでは、モデルを学習やテストの結果のほか、それらのオプション (モデル タイプ、選択した特徴、PCA など) で並べ替えることもできます。たとえば、モデルを平方根平均二乗誤差で並べ替えるには、[RMSE (検証)] 列ヘッダーの並べ替え矢印をクリックします。上向き矢印は、RMSE が最も低いモデルから RMSE が最も高いモデルの順に並べ替えられていることを示します。
テーブルの列のオプションをさらに表示するには、テーブルの右上にある [表示する列の選択] ボタン をクリックします。[表示する列の選択] ダイアログ ボックスで、結果テーブルに表示する列のボックスをオンにします。新しく選択した列はテーブルの右側に追加されます。
結果テーブル内でテーブルの列を手動でドラッグ アンド ドロップして、希望する順序で表示することができます。
[お気に入り] 列を使用して、いくつかのモデルをお気に入りとしてマークできます。お気に入りのモデルの選択内容は、結果テーブルと [モデル] ペインで一致するように維持されます。他の列と異なり、[お気に入り] 列と [モデル番号] 列はテーブルから削除できません。
テーブルから行を削除するには、行内のいずれかのエントリを右クリックし、[行を非表示] (行が強調表示されている場合は [選択した行を非表示]) をクリックします。連続する行を削除するには、削除する最初の行内のいずれかのエントリをクリックし、Shift キーを押して、削除する最後の行内のいずれかのエントリをクリックします。次に、強調表示されたエントリのいずれかを右クリックし、[選択した行を非表示] をクリックします。削除したすべての行を元に戻すには、テーブル内のいずれかのエントリを右クリックし、[すべての行を表示] をクリックします。復元された行はテーブルの一番下に追加されます。
テーブルの情報をエクスポートするには、テーブルの右上にあるいずれかのエクスポート ボタン を使用します。テーブルをワークスペースとファイルのどちらにエクスポートするかを選択します。エクスポートしたテーブルには、表示されている行と列のみが含まれます。
応答プロットにおけるデータと結果の確認
応答プロットを使用して回帰モデルの結果を確認します。応答プロットには、予測された応答とレコード番号が表示されます。回帰モデルに学習させた後、そのモデルの応答プロットがアプリで自動的に開きます。"すべて" のモデルに学習させた場合は、最初のモデルの応答プロットのみが開きます。別のモデルの応答プロットを表示するには、[モデル] ペインでモデルを選択します。[学習] タブの [プロットと結果] セクションで矢印をクリックしてギャラリーを開き、[検証結果] グループの [応答] をクリックします。ホールドアウト検証または交差検証を使用している場合、予測された応答の値はホールドアウトされた (検証) 観測値に対する予測です。つまり、ソフトウェアでは、対応する観測値を使用せずに学習させたモデルを使用して各予測値を取得します。
結果を調べるには、右にあるコントロールを使用します。次が可能です。
予測された応答および/または真の応答をプロットします。[プロット] のチェック ボックスを使用して選択を行います。
[誤差] チェック ボックスを選択すると、予測された応答と真の応答の間の垂直線として予測誤差が表示されます。
x 軸にプロットする変数を [X 軸] で選択します。レコード番号またはいずれかの予測子変数を選択できます。
[スタイル] で応答をマーカーまたは箱ひげ図としてプロットします。[箱ひげ図] を選択できるのは、x 軸の変数に一意な値がほとんど含まれていない場合だけです。
箱ひげ図には、応答の代表的な値と外れ値の可能性がある値が表示されます。中央の印は中央値を、ボックスの上下の端はそれぞれ 25 番目と 75 番目の百分位数を示します。垂直線はひげと呼ばれ、ボックスから、外れ値とは見なされない最も極端なデータ点まで伸びます。外れ値は
"o"
記号を使用して個別にプロットされます。箱ひげ図の詳細については、boxchart
を参照してください。
アプリで作成した応答プロットを Figure にエクスポートする方法については、回帰学習器アプリのプロットのエクスポートを参照してください。
予測された応答と実際の応答のプロット
予測と実際のプロットを使用してモデルの性能をチェックします。このプロットを使用して、異なる応答値について回帰モデルがどの程度適切に予測を行うかを調べます。モデルに学習させた後で予測と実際のプロットを表示するには、[プロットと結果] セクションで矢印をクリックしてギャラリーを開き、[検証結果] グループの [予測と実際 (検証)] をクリックします。
プロットを開くと、モデルの予測された応答が実際の真の応答に対してプロットされます。完璧な回帰モデルでは、予測された応答が真の応答と等しくなるので、すべての点が対角線上に配置されます。この線から点までの垂直距離は、その点についての予測誤差です。優れたモデルは誤差が小さく、予測が対角線の近くに分布します。
通常、優れたモデルでは点が対角線の近くでほぼ対称的に配置されます。プロットに明確なパターンがある場合、モデルを改善できる可能性があります。別のモデル タイプに学習させるか、モデルを複製してからモデルの [概要] タブの [モデルのハイパーパラメーター] オプションを使用して現在のモデル タイプをより柔軟にします。モデルを改善できない場合は、さらにデータが必要であるか、重要な予測子が欠けている可能性があります。
アプリで作成した予測と実際のプロットを Figure にエクスポートする方法については、回帰学習器アプリのプロットのエクスポートを参照してください。
残差プロットの使用によるモデルの評価
残差プロットを使用してモデルの性能をチェックします。モデルに学習させた後で残差プロットを表示するには、[プロットと結果] セクションで矢印をクリックしてギャラリーを開き、[検証結果] グループの [残差 (検証)] をクリックします。残差プロットには、予測された応答と真の応答の差が表示されます。x 軸にプロットする変数を [X 軸] で選択します。真の応答、予測された応答、レコード番号、またはいずれかの予測子を選択します。
通常、優れたモデルでは残差が 0 の近くでほぼ対称的に配置されます。残差に明確なパターンがある場合、モデルを改善できる可能性があります。次のようなパターンを探します。
0 の近くで対称的になっている残差ではない。
プロットの左から右に残差のサイズが大きく変化している。
外れ値がある。つまり、他の残差よりはるかに大きい残差がある。
明確な非線形パターンが残差にある。
別のモデル タイプに学習させるか、モデルを複製してからモデルの [概要] タブの [モデルのハイパーパラメーター] オプションを使用して現在のモデル タイプをより柔軟にします。モデルを改善できない場合は、さらにデータが必要であるか、重要な予測子が欠けている可能性があります。
アプリで作成した残差プロットを Figure にエクスポートする方法については、回帰学習器アプリのプロットのエクスポートを参照してください。
レイアウトの変更によるモデル プロットの比較
[学習] タブの [プロットと結果] セクションのプロット オプションを使用して、回帰学習器で学習させたモデルの結果を可視化します。プロットのレイアウトを再編成して複数のモデルの結果を比較できます。[レイアウト] ボタンのオプションを使用するか、プロットをドラッグ アンド ドロップするか、モデル プロットのタブの右にある [ドキュメント アクション] ボタンに表示されるオプションを選択します。
たとえば、回帰学習器で 2 つのモデルに学習させた後、次のいずれかの手順を使用して、各モデルのプロットを表示し、プロットのレイアウトを変更してプロットを比較します。
[プロットと結果] セクションで [レイアウト] をクリックし、[モデルの比較] を選択します。
2 つ目のモデルのタブ名をクリックし、2 つ目のモデルのタブを右にドラッグ アンド ドロップします。
モデル プロットのタブの右端にある [ドキュメント アクション] ボタンをクリックします。
[すべて並べて表示]
オプションを選択し、1 行 2 列のレイアウトを指定します。
プロットの右上にある [プロット オプションを非表示] ボタン をクリックするとプロットのスペースを大きくできることに注意してください。
テスト セットにおけるモデルの性能の評価
回帰学習器でモデルに学習させた後、アプリでテスト セットにおけるモデルの性能を評価できます。このプロセスにより、新しいデータにおけるモデルの性能が検証メトリクスで適切に推定されるかどうかを確認できます。
テスト データセットを回帰学習器にインポートします。あるいは、アプリにデータをインポートするときに一部のデータをテスト用に確保します ((オプション) テスト用のデータの確保を参照)。
テスト データ セットが MATLAB® ワークスペース内にある場合は、[テスト] タブの [データ] セクションで [テスト データ] をクリックし、[ワークスペースから] を選択します。
テスト データ セットがファイル内にある場合は、[データ] セクションで [テスト データ] をクリックし、[ファイルから] を選択します。スプレッドシート、テキスト ファイル、コンマ区切り値 (
.csv
) ファイルなどのファイル タイプをリストから選択するか、[すべてのファイル] を選択して.dat
など他のファイル タイプを参照します。
[テスト データのインポート] ダイアログ ボックスで、[テスト データセット変数] のリストからテスト データセットを選択します。テスト セットは、学習と検証のためにインポートした予測子と同じ変数をもたなければなりません。
テスト セット メトリクスを計算します。
単一のモデルのテスト メトリクスを計算するには、[モデル] ペインで学習済みモデルを選択します。[テスト] タブの [テスト] セクションで [選択項目をテスト] をクリックします。
すべての学習済みモデルのテスト メトリクスを計算するには、[テスト] セクションで [すべてテスト] をクリックします。
学習データと検証データを含むデータ セット全体 (テスト データは除く) で学習させた各モデルのテスト セットの性能が計算されます。
検証メトリクスとテスト メトリクスを比較します。
モデルの [概要] タブの [学習結果] セクションと [テスト結果] セクションに、それぞれ検証メトリクスとテスト メトリクスが表示されます。検証メトリクスによってテスト メトリクスが適切に推定されるかどうかを確認できます。
プロットを使用したテスト結果の可視化もできます。
予測と実際のプロットを表示します。[テスト] タブの [プロットと結果] セクションで [予測と実際 (テスト)] をクリックします。
残差プロットを表示します。[プロットと結果] セクションで [残差 (テスト)] をクリックします。
例については、回帰学習器アプリにおけるテスト セットを使用したモデルの性能チェックを参照してください。ハイパーパラメーターの最適化ワークフローでテスト セット メトリクスを使用する例については、回帰学習器アプリのハイパーパラメーターの最適化を使用した回帰モデルの学習を参照してください。