ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

回帰問題に対するデータと検証の選択

ワークスペースからのデータの選択

ヒント

数値データとラベル データを格納できるので、テーブルは回帰学習器でデータを処理するための最も簡単な方法です。インポート ツールを使用してデータを MATLAB® のワークスペースにテーブルとして読み込むか、テーブル関数を使用してワークスペース変数から table 変数を作成します。table (MATLAB)を参照してください。

予測子が行列、応答がベクトルの場合は、関数 table を使用してテーブルに結合します。

  1. データを MATLAB のワークスペースに読み込みます。

    予測子変数は、数値ベクトル、categorical ベクトル、string ベクトル、logical ベクトル、文字ベクトルの cell 配列、または文字配列が可能です。応答変数は浮動小数点ベクトル (単精度または倍精度) でなければなりません。

    データセットの例については、回帰のサンプル データを参照してください。

  2. [アプリ] タブの [回帰学習器] をクリックしてアプリを開きます。

  3. [回帰学習器] タブの [ファイル] セクションで、[新規セッション] をクリックします。

  4. [新規セッション] ダイアログ ボックスで、テーブルまたは行列をワークスペース変数から選択します。

    行列を選択した場合は、オプションのボタンをクリックすることにより、行と列のどちらを観測値として使用するか選択します。

  5. データ型に基づいて選択された変数の役割を確認します。このアプリでは、適切な応答変数を選択しようとします。他のすべての変数は、予測子変数になります。必要な場合は選択を変更します。チェック ボックスを使用して予測子を追加または削除します。すべての予測子を追加または削除するには、[すべて追加] または [すべて削除] をクリックします。テーブル内の予測子を選択してから [N の追加] または [N の削除] をクリックすることにより、複数の予測子を追加または削除することもできます。ここで N は選択した予測子の個数です。複数の予測子を選択すると、[すべて追加] ボタンおよび [すべて削除] ボタンは [N の追加] および [N の削除] に変化します。

  6. 既定の検定方式をそのまま使用して続行するため、[セッションの開始] をクリックします。既定の検定オプションは 5 分割交差検証であるため、過適合が防止されます。

    ヒント

    データセットが大きい場合は、ホールドアウト検定に切り替えることが考えられます。詳細については、検定方式の選択を参照してください。

以後の手順については、回帰学習器アプリにより回帰モデルに学習をさせるを参照してください。

ファイルからのデータのインポート

  1. [回帰学習器] タブの [ファイル] セクションで、[新規セッション][ファイルから] を選択します。

  2. スプレッドシート、テキスト ファイル、コンマ区切り値 (.csv) などのファイル タイプをリストから選択するか、[すべてのファイル] を選択して .dat など他のファイル タイプを参照します。

回帰のサンプル データ

はじめて回帰学習器を使用する場合は、以下のサンプル データセットを試してください。

名前サイズ説明
自動車予測子の数: 7
観測値の数: 406
応答: MPG (ガロンあたりの走行マイル数)

1970 ~ 1982 年のさまざまな自動車モデルに関するデータ。燃費 (ガロンあたりの走行マイル数単位) または他のいずれかの特性を予測します。

詳しい手順の例については、回帰学習器アプリを使用して回帰木に学習をさせるを参照してください。

carbig.mat ファイルに含まれている変数からテーブルを作成します。
load carbig
cartable = table(Acceleration, Cylinders, Displacement,...
Horsepower, Model_Year, Weight, Origin, MPG);
アワビ予測子の数: 8
観測値の数: 4177
応答: Rings

アワビ (巻貝のグループ) の測定値。アワビの年齢の予測。これは貝殻の輪の数と密接に関連しています。

UCI Machine Learning Repository からデータをダウンロードして現在のフォルダーに保存します。データをテーブルに読み込み、変数名を指定します。

url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data';
websave('abalone.csv',url);
varnames = {'Sex'; 'Length'; 'Diameter'; 'Height'; 'Whole_weight';...
'Shucked_weight'; 'Viscera_weight'; 'Shell_weight'; 'Rings'}; 
abalonetable = readtable('abalone.csv');
abalonetable.Properties.VariableNames = varnames;
病院予測子の数: 5
観測値の数: 100
応答: BloodPressure_2

シミュレートされた病院のデータ。患者の血圧を予測します。

hospital.mat ファイル内の変数 hospital からテーブルを作成します。
load hospital.mat
hospitaltable = dataset2table(hospital(:,2:end-1));

検定方式の選択

近似モデルの予測精度を確認するための検定方式を選択します。検定を行うと、新しいデータに対するモデルの性能が推定されるので、最適なモデルの選択に役立ちます。検定を行うと過適合を防止できます。柔軟すぎて過適合になるモデルでは、検定精度が低下します。モデルに学習をさせる前に検定方式を選択すると、同じ検定方式を使用してセッション内のすべてのモデルを比較できます。

ヒント

既定の検定方式を選択し、[セッションの開始] をクリックして続行してください。既定のオプションは、過適合を防ぐ 5 分割の交差検証です。

データセットが大規模で、交差検証を使用するとモデルの学習に時間がかかりすぎる場合は、データを再インポートして、より高速なホールドアウト検定を代わりに試してください。

  • 交差検証: スライダー コントロールを使用してデータセットの分割数を選択します。

    分割数として k を選択すると、次の処理が行われます。

    1. データを k 個の互いに素な集合に分割する。

    2. 各分割について

      1. 分割外の観測値を使用してモデルを学習させる。

      2. 分割内のデータを使用してモデルの性能を評価する。

    3. すべての分割について平均の検定誤差を計算する。

    このようにすると、データセット全体を使用して学習をさせた最終的なモデルの予測精度を適切に推定できます。複数のあてはめが必要ですが、すべてのデータを効率的に使用するので、小規模なデータセットに適しています。

  • [ホールドアウト検定]: 検定セットとして使用するデータのパーセンテージをスライダー コントロールで選択します。このアプリでは、学習セットをモデルに学習させ、検定セットで性能を評価します。検定用のモデルは一部のデータのみに基づいているので、ホールドアウト検定は大規模なデータセットのみに適しています。最終的なモデルの学習には、データセット全体が使用されます。

  • 検定なし: 過適合を防止しません。すべてのデータが学習に使用され、同じデータについて誤差率が計算されます。テスト データがないと、新しいデータに対するモデルの性能の推定が非現実的になります。つまり、学習標本の精度が非現実的に高くなり、予測精度が低くなると考えられます。

    学習データに対する過適合を回避するには、検定方式を選択してください。

メモ

検証スキームは、回帰学習器による検証メトリックの計算方法にのみ影響を与えます。最終的なモデルの学習には、常にデータセット全体が使用されます。

このダイアログ ボックスで選択した検定方式は、データの選択後に学習をさせるすべてのモデルで使用されます。同じ検定方式を使用して、セッション内のすべてのモデルを比較できます。

もう一度データを選択すると、検定方式の選択を変更して新しいモデルを学習させることができますが、学習済みのモデルは失われます。データをインポートすると新しいセッションが始まることが警告されます。保持する必要がある学習済みのモデルをワークスペースに保存してからデータをインポートしてください。

モデルに学習をさせる次のステップについては、回帰学習器アプリにより回帰モデルに学習をさせるを参照してください。

関連するトピック