Main Content

分類用のデータの選択または保存したアプリ セッションを開く

分類学習器アプリの初回起動時に、データをインポートするか、前に保存したアプリ セッションを開くかを選択できます。データをインポートするには、ワークスペースからのデータの選択ファイルからのデータのインポートを参照してください。保存したセッションを開くには、アプリ セッションを保存して開くを参照してください。

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

ヒント

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

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

    予測子変数および応答変数は、数値ベクトル、categorical ベクトル、string ベクトル、logical ベクトル、文字ベクトルの cell 配列、または文字配列が可能です。応答変数に 500 を超える一意のクラス ラベルを含めることはできません。メモ: 応答変数が string ベクトルである場合、学習済みモデルの予測は文字ベクトルの cell 配列を形成します。

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

    データ セットの例については、分類用データの例を参照してください。

  2. [アプリ] タブで [分類学習器] をクリックします。

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

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

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

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

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

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

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

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

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

    ヒント

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

メモ

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

以後の手順については、分類学習器アプリにおける分類モデルの学習を参照してください。

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

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

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

分類用データの例

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

名前サイズ説明
フィッシャーのアヤメ

予測子の数: 4
観測値の数: 150
クラス数: 3
応答: Species

3 種のアヤメの測定値。種の分類を試してください。

詳しい手順の例については、分類学習器アプリを使用した決定木の学習を参照してください。

.csv ファイルからテーブルを作成します。

fishertable = readtable('fisheriris.csv');

格付け

予測子の数: 6
観測値の数: 3932
クラス数: 7
応答: Rating

法人顧客リストの財務比率と業種の情報。応答変数は、格付機関が割り当てた格付け (AAA、AA、A、BBB、BB、B、CCC) から構成されます。

CreditRating_Historical.dat ファイルからテーブルを作成します。

creditrating = readtable('CreditRating_Historical.dat');

自動車

予測子の数: 7
観測値の数: 100
クラス数: 7
応答: Origin

1970 年、1976 年および 1982 年における自動車の測定値。生産国の分類を試してください。

carsmall.mat ファイルに含まれている変数からテーブルを作成します。

load carsmall
cartable = table(Acceleration, Cylinders, Displacement,...
Horsepower, Model_Year, MPG, Weight, Origin);

不整脈

予測子の数: 279
観測値の数: 452
クラス数: 16
応答: Class (Y)

心不整脈の有無を示す応答変数と患者情報。患者を "正常" とする誤分類は、"不整脈あり" と分類する偽陽性以上に結果が深刻になります。

.mat ファイルからテーブルを作成します。

load arrhythmia
Arrhythmia = array2table(X);
Arrhythmia.Class = categorical(Y);

卵巣癌

予測子の数: 4000
観測値の数: 216
クラス数: 2
応答: Group

WCX2 タンパク質配列を使用して生成した卵巣癌データ。95 個の対象群と 121 個の卵巣癌が含まれています。

.mat ファイルからテーブルを作成します。

load ovariancancer
ovariancancer = array2table(obs);
ovariancancer.Group = categorical(grp);

電離層

予測子の数: 34
観測値の数: 351
クラス数: 2
応答: Group (Y)

16 本の高周波アンテナの位相配列からの信号。良好 ("g") な反射レーダー信号は、何らかの構造が電離層に存在する証拠を示しています。不良 ("b") の信号は、電離層を通過した信号です。

.mat ファイルからテーブルを作成します。

load ionosphere
ionosphere = array2table(X);
ionosphere.Group = Y;

検証方式の選択

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

ヒント

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

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

テスト用に確保されたデータがない (既定で true) と仮定します。

  • 交差検証: データ セットの分割数を選択します。

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

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

    2. 各検証分割について

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

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

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

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

  • ホールドアウト検証: 検証セットとして使用するデータのパーセンテージを選択します。このアプリでは、学習セットをモデルに学習させ、検証セットで性能を評価します。検証用のモデルはデータのほんの一部をベースとするものであることから、[ホールドアウト検証] は大規模なデータ セットのみに勧められます。最終的なモデルの学習には、データ セット全体が使用されます。

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

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

メモ

検証方式は、分類学習器による検証メトリクスの計算方法にのみ影響を与えます。最終的なモデルの学習には、常にテスト用に確保されたデータを除くデータ セット全体が使用されます。

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

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

モデルを学習させる次のステップについては、分類学習器アプリにおける分類モデルの学習を参照してください。

(オプション) テスト用のデータの確保

分類学習器にデータをインポートするときに、一定の割合のデータをテスト用に確保するように指定できます。[新規セッション] ダイアログ ボックスの [テスト] セクションで、[テスト データ セットの確保] チェック ボックスをクリックします。テスト セットとして使用するインポート データの割合を指定します。必要に応じて、アプリ セッションを開始した後に別のテスト データ セットをインポートすることもできます。

テスト セットを使用して、学習済みモデルの性能を評価できます。特に、新しいデータにおけるモデルの性能が検証メトリクスで適切に推定されるかどうかを確認できます。詳細については、テスト セットにおけるモデルの性能の評価を参照してください。たとえば、分類学習器アプリでハイパーパラメーターの最適化を使用した分類器の学習を参照してください。

メモ

アプリによるモデルの学習にテスト データは使用されません。アプリからエクスポートされるモデルは、テスト用に確保されたデータを除く学習データと検証データ全体で学習させたものです。

アプリ セッションを保存して開く

分類学習器で、現在のアプリ セッションを保存し、前に保存したアプリ セッションを開くことができます。

  • 現在のアプリ セッションを保存するには、[学習] タブの [ファイル] セクションで [保存] をクリックします。現在のセッションを最初に保存するときに、セッション ファイルの名前と場所を指定する必要があります。[セッションの保存] オプションでは現在のセッションが保存され、[セッションに名前を付けて保存] オプションでは現在のセッションが新しいファイルに保存されます。[コンパクトなセッションに名前を付けて保存] オプションでは、現在のアプリ セッションのコンパクトなバージョンが保存され、保存されるセッションのファイル サイズが小さくなります。[コンパクトなセッションに名前を付けて保存] オプションでは、現在のセッションのすべての学習済みモデルから学習データが完全に削除されることに注意してください。

  • 保存したアプリ セッションを開くには、[ファイル] セクションで [開く] をクリックします。[開くファイルを選択] ダイアログ ボックスで、開く保存済みセッションを選択します。

関連するトピック