このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
ヒント
数値データとラベル データを格納できるので、テーブルは分類学習器でデータを使用するための最も簡単な方法です。インポート ツールを使用してデータを MATLAB® のワークスペースにテーブルとして読み込むか、テーブル関数を使用してワークスペース変数から table
変数を作成します。tableを参照してください。
データを MATLAB のワークスペースに読み込みます。
予測子変数および応答変数は、数値ベクトル、categorical ベクトル、string ベクトル、logical ベクトル、文字ベクトルの cell 配列、または文字配列が可能です。メモ: 応答変数が string ベクトルである場合、学習済みモデルの予測は文字ベクトルの cell 配列を形成します。
予測子データを 1 つの変数 (table または行列) に結合します。予測子データと応答変数は、結合することも、別個のままにしておくこともできます。
データセットの例については、分類用データの例を参照してください。
[アプリケーション] タブで [分類学習器] をクリックします。
分類学習器の [分類学習器] タブで、[ファイル] セクションの [新規セッション]、[ワークスペースから] をクリックします。
[新規セッション] ダイアログ ボックスの [データセット変数] で、テーブルまたは行列をワークスペース変数のリストから選択します。
行列を選択した場合は、オプションのボタンをクリックすることにより、行と列のどちらを観測値として使用するか選択します。
[応答] で、既定の応答変数を観測します。このアプリでは、データセット変数から適切な応答変数を選択し、他のすべての変数を予測子として扱おうとします。
異なる応答変数を使用する場合は次のようにします。
リストを使用して、データセット変数から別の変数を選択します。
[ワークスペースから] オプション ボタンをクリックして個別のワークスペース変数を選択した後、リストから変数を選択します。
[予測子] でチェック ボックスを使用して予測子を追加または削除します。すべての予測子を追加または削除するには、[すべて追加] または [すべて削除] をクリックします。テーブル内の予測子を選択してから [N の追加] または [N の削除] をクリックすることにより、複数の予測子を追加または削除することもできます。ここで N は選択した予測子の個数です。複数の予測子を選択すると、[すべて追加] ボタンおよび [すべて削除] ボタンは [N の追加] および [N の削除] に変化します。
既定の検証方式をそのまま使用して続行するため、[セッションの開始] をクリックします。既定の検証オプションは 5 分割交差検証であるため、過適合が防止されます。
ヒント
データセットが大きい場合は、ホールドアウト検証に切り替えることが考えられます。詳細については、検証方式の選択を参照してください。
以後の手順については、分類学習器アプリにおける分類モデルの学習を参照してください。
[分類学習器] タブの [ファイル] セクションで、[新規セッション] 、 [ファイルから] を選択します。
スプレッドシート、テキスト ファイル、コンマ区切り値 (.csv
) などのファイル タイプをリストから選択するか、[すべてのファイル] を選択して .dat
など他のファイル タイプを参照します。
はじめて分類学習器を使用する場合は、以下のサンプル データセットを試してください。
名前 | サイズ | 説明 |
---|---|---|
フィッシャーのアヤメ | 予測子の数: 4 | 3 種のアヤメの測定値。種の分類を試してください。 詳しい手順の例については、分類学習器アプリを使用した決定木の学習を参照してください。 |
fishertable = readtable('fisheriris.csv'); | ||
格付け | 予測子の数: 6 | 法人顧客リストの財務比率と業種の情報。応答変数は、格付機関が割り当てた格付け (AAA、AA、A、BBB、BB、B、CCC) から構成されます。 |
creditrating = readtable('CreditRating_Historical.dat'); | ||
自動車 | 予測子の数: 7 | 1970 年、1976 年および 1982 年における自動車の測定値。生産国の分類を試してください。 |
load carsmall cartable = table(Acceleration, Cylinders, Displacement,... Horsepower, Model_Year, MPG, Weight, Origin); | ||
不整脈 | 予測子の数: 279 | 心不整脈の有無を示す応答変数と患者情報。患者を "正常" とする誤分類は、"不整脈あり" と分類する偽陽性以上に結果が深刻になります。 |
load arrhythmia Arrhythmia = array2table(X); Arrhythmia.Class = categorical(Y); | ||
卵巣癌 | 予測子の数: 4000 | WCX2 タンパク質配列を使用して生成した卵巣癌データ。95 個の対象群と 121 個の卵巣癌が含まれています。 |
load ovariancancer ovariancancer = array2table(obs); ovariancancer.Group = categorical(grp); | ||
電離層 | 予測子の数: 34 | 16 本の高周波アンテナの位相配列からの信号。良好 ("g") な反射レーダー信号は、何らかの構造が電離層に存在する証拠を示しています。不良 ("b") の信号は、電離層を通過した信号です。 |
load ionosphere ionosphere = array2table(X); ionosphere.Group = Y; |
あてはめたモデルの予測精度を確認するための検証方式を選択します。検定を行うと、学習データと比較して新しいデータに対するモデルの性能が推定されるので、最適なモデルの選択に役立ちます。検証を行うと過適合を防止できます。モデルを学習させる前に検証方式を選択すると、同じ検証方式を使用してセッション内のすべてのモデルを比較できます。
ヒント
既定の検証方式を選択し、[セッションの開始] をクリックして続行してください。既定のオプションは、過適合を防ぐ 5 分割の交差検証です。
データセットが大規模で、交差検証を使用するとモデルの学習に時間がかかりすぎる場合は、データを再インポートして、より高速なホールドアウト検証を代わりに試してください。
交差検証:スライダー コントロールを使用してデータセットの分割数を選択します。
分割数として k を選択すると、次の処理が行われます。
データを k 個の互いに素な集合に分割する。
各分割について
分割外の観測値を使用してモデルを学習させる。
分割内のデータを使用してモデルの性能を評価する。
すべての分割について平均の検定誤差を計算する。
このようにすると、すべてのデータで学習済みの最終的なモデルの予測精度を適切に推定できます。複数のあてはめが必要ですが、すべてのデータを効率的に使用するので、小規模なデータセットに適しています。
ホールドアウト検証: 検定セットとして使用するデータのパーセンテージをスライダー コントロールで選択します。このアプリでは、学習セットをモデルに学習させ、検定セットで性能を評価します。検定用のモデルはデータのほんの一部をベースとするものであることから、[ホールドアウト検証] は大規模なデータセットのみに勧められます。最終的なモデルの学習には、データセット全体が使用されます。
検証なし: 過適合の防止が行われません。すべてのデータが学習に使用され、同じデータについて誤差率が計算されます。検定データがないと、新しいデータに対するモデルの性能の推定が非現実的になります。つまり、学習標本の精度が非現実的に高くなり、予測精度が低くなると考えられます。
学習データに対する過適合を回避するには、検証方式を選択してください。
メモ
検証方式は、分類学習器による検定メトリックの計算方法にのみ影響を与えます。最終的なモデルの学習には、常にデータセット全体が使用されます。
このダイアログ ボックスで選択した検証方式は、データの選択後に学習させるすべての分類モデルで使用されます。同じ検証方式を使用して、セッション内のすべてのモデルを比較できます。
もう一度データを選択すると、検証方式の選択を変更して新しいモデルを学習させることができますが、学習済みのモデルは失われます。データをインポートすると新しいセッションが始まることが警告されます。保持する必要がある学習済みのモデルをワークスペースに保存してからデータをインポートしてください。
モデルを学習させる次のステップについては、分類学習器アプリにおける分類モデルの学習を参照してください。