Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

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

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

ヒント

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

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

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

    予測子データを 1 つの変数 (table または行列) に結合します。予測子データと応答変数は、結合することも、別個のままにしておくこともできます。

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

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

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

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

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

  5. [応答] で、既定の応答変数を観測します。このアプリでは、データセット変数から適切な応答変数を選択し、他のすべての変数を予測子として扱おうとします。

    異なる応答変数を使用する場合は次のようにします。

    • リストを使用して、データセット変数から別の変数を選択します。

    • [ワークスペースから] オプション ボタンをクリックして個別のワークスペース変数を選択した後、リストから変数を選択します。

  6. [予測子] でチェック ボックスを使用して予測子を追加または削除します。すべての予測子を追加または削除するには、[すべて追加] または [すべて削除] をクリックします。テーブル内の予測子を選択してから [N の追加] または [N の削除] をクリックすることにより、複数の予測子を追加または削除することもできます。ここで N は選択した予測子の個数です。複数の予測子を選択すると、[すべて追加] ボタンおよび [すべて削除] ボタンは [N の追加] および [N の削除] に変化します。

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

    ヒント

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

メモ

データをアプリにコマンド ラインから直接読み込む場合は、回帰学習器で使用する予測子データ、応答変数、および検証タイプをコマンド ラインの regressionLearner の呼び出しで指定できます。詳細については、回帰学習器を参照してください。

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

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

  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. すべての分割について平均の検証誤差を計算する

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

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

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

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

メモ

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

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

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

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

関連するトピック