クラスと数値の予測

Analytics の自動機械学習を使用して、ラベルがないデータに関連付けられたクラスまたは数値を予測します。 関心があるクラスまたは数値がデータに存在しない場合、データはラベルがありません。 たとえば、機械学習を使用して、融資の債務不履行または将来の住宅価格を予測できます。

予測問題 予測タイプ 説明
融資の債務不履行 分類

年齢、職業、信用評価などの申請者情報に基づいて、融資を実行した場合に債務不履行になる申請者を予測します。

つまり、申請者がクラス Default = Yes または Default = No に該当するかどうかということです。

将来の住宅価格 再帰 年齢、平方メートル、郵便番号、間取り、浴室・トイレの数などの特長に基づいて、将来の住宅の販売価格を予測します。

自動機械学習

Analytics の機械学習は「自動」です。2 つの関連するコマンドである学習と予測は、予測モデルの学習と、予測モデルをラベルがないデータセットに適用することに関連するすべての演算作業を実行します。 Analytics の自動化によって、専門的なデータ科学技術を必要とせずに、自社データに対する機械学習を実行できます。

学習および予測ワークフロー

学習および予測ワークフローは 2 つの関連するプロセス、および 2 つの関連するデータセットから成ります。

  • 学習プロセスは学習データセット(ラベル付き)を使用します
  • 予測プロセスは新しいデータセット(ラベルなし)を使用します

学習 プロセス

学習プロセスが先に実行され、ラベル付きフィールド対象フィールド)を含む学習データセットを使用します。

ラベル付きフィールドには、学習データセットの各レコードに関連付けられる、既知のクラス、既知の数値が含まれます。 たとえば、借り手が融資で債務不履行になったかどうか(Y/N)、や住宅の販売価格です。

機械学習アルゴリズムを使用して、学習プロセスが予測モデルを生成します。 学習プロセスは、実行している予測タスクに最適なモデルを検出するために、さまざまな異なるモデル順列を生成します。 詳細については、クラスと数値の予測を参照してください。

予測 プロセス

予測プロセスは 2 番目に実行されます。 学習プロセスによって生成される予測モデルが、学習データセットのデータに似ているデータを含む新しいラベルがないデータセットに適用されます。

融資の債務不履行情報や住宅販売価格などのラベル値は、将来のイベントであるため、新しいデータセットに存在します。

予測モデルを使用して、予測プロセスは、新しいデータセットの各ラベルがないレコードに関連付けられたクラスまたは数値を予測します。

学習および予測ワークフローの詳細

  プロセス 説明 データセットの例
1

トレーニング

(学習コマンド)

  • 学習コマンド 学習データセットに対して学習コマンドを実行し、予測モデルを学習します。

    コマンドは、予測タスクに最適な単一のモデルを選択する前に、複数の異なる機械学習アルゴリズムを使用して、さまざまなモデルを生成します(「ウィニング モデル」)。

  • 学習データセット データセットにはキー フィールド(機能)とラベル付きフィールド(対象フィールド)があります。
  • 学習 学習プロセスは、キー フィールドとラベル付きフィールドとの関係を表す数学モデルを作成するものです。
  • たとえば、すべての他の機能が同等の場合、学習プロセスは、4 部屋あると、住宅の販売価格が $35,000 増加したことを検出するとします。

    "Number of bedrooms" はキー フィールドで "sale price" はラベル付きフィールドです。

  • 予測モデル 学習プロセスは、予測モデルを出力ファイルに保存します。
  • 融資データ 融資債務不履行情報 (Y/N) を含む履歴融資データ

    "Default" ラベル付きフィールドです。

  • 住宅データ 販売価格を含む最近の住宅販売データ

    "Sale price" はラベル付きフィールドです。

2

予測

(予測コマンド)

  • 予測コマンド 予測コマンドを使用して、学習コマンドで生成された予測モデルを適用します。
  • 新しいデータ 学習データセットと同じキー フィールド(機能)があり、ラベル付きフィールドがない、新しいデータセットにモデルを適用します。
  • 予測 予測プロセスは、予測モデルに保存された数学的関係を使用して、新しいデータセット内にある同様の関係を持つキー フィールド同士の関係に対するラベル値を予測します。
  • たとえば、他のすべての機能が等しい場合、予測プロセスは 3 ベッドルームの部屋の販売価格を $400,000 と予測し、4 ベッドルームの場合 $435,000 と予測します。
  • 確率(分類のみ) 各予測された値に対して、予測出力には、予測が正確である確率または信頼度が含まれます。
  • 融資データ 現在の融資申請者データ

    融資債務不履行情報は存在しません。融資は申請段階だからです。

  • 住宅データ 住宅価格評価データ

    最近の販売データは存在しません。住宅はまだ販売されていないためです。

処理時間

機械学習で必要な演算は時間がかかり、プロセッサーの負荷が高くなります。 多数のフィールドを含む大きいデータセットを使用して予測モデルを学習するには数時間かかることがあり、通常は夜間に実行するタスクです。

ヒント

Analytics の機械学習に慣れる場合は、小さいデータセットを使用し、処理時間を管理可能に保つと、結果が比較的速く表示されます。

学習データセットのサイズを削減するためのストラテジー

さまざまなストラテジーを使用して、結果の予測モデルの精度に大幅な影響を与えずに、学習データセットのサイズ、関連付けられた処理時間を減らすことができます。

  • 予測精度に影響せずに学習プロセスからフィールドを除外する 関連のないフィールドと冗長なフィールドを除外します。
  • 学習データセットを抽出し、学習プロセスの入力として、抽出されたデータを使用します。 考えられるサンプリング アプローチ:
    • 大半のクラスをサンプリングしてデータ クラスのサイズのバランスを保ち、平均的な少数のクラス サイズを近似する
    • 学習データセット全体のランダム サンプリング
    • 機能に基づく階層化サンプリング
    • クラスターに基づく階層化サンプリング

予測モデルの学習

メモ

学習プロセスで使用されるデータセットのサポートされる最大サイズは 1 GB です。

手順

学習プロセスの基本設定を指定する

  1. 学習データセットがある Analytics テーブルを開きます。
  2. Analytics メインメニューで、[機械学習 > 学習]を選択します。
  3. 学習プロセスに割り当てられた時間を指定します。
    最適なモデルを検索する時間

    予測モデルの生成とテスト、およびウィニング モデルの選択にかかる合計時間(分)。

    モデルごとに、最大評価時間の 10 倍の検索時間を指定します。

    モデル評価の最大時間

    モデル評価ごとの最大実行時間(分)。

    100 MB の学習データごとに 45 分を割り当てます。

    メモ

    学習プロセスの合計実行時間は、検索時間と最大モデル評価時間を最大で 2 倍した値の合計です。

    これらの提案された時間割り当ては、処理時間と多様なモデル タイプの評価を可能にすることの間で、合理的なバランスを取っています。

  4. 使用する予測タイプを指定する:
    • 分類 分類アルゴリズムを使用して、モデルを学習します

      レコードが属するクラスまたはカテゴリを予測する場合は分類を使用します。

    • 回帰 回帰アルゴリズムを使用して、モデルを学習します

      ラベルがないデータセットのレコードに関連付けられた数値を予測する場合は回帰を使用します。

    分類と回帰で使用される特定のアルゴリズムについては、学習アルゴリズムを参照してください。

  5. モデル スコアラー]ドロップダウンリストで、学習プロセス中に生成されたモデルのスコアを決定するときに使用するメトリクスを選択します。

    生成されたモデルのうち、このメトリクスの最善値を有するモデルが保持され、そうでないモデルは破棄されます。

    使用している予測タイプによって、異なるサブセットのメトリクスを使用できます。

    分類ログ損失 | AUC | 正確度 | F1 | 適合率 | 再現率
    再帰平均二乗誤差 | 平均絶対誤差 | R2

    メモ

    分類メトリクス AUC は、バイナリ データ(Yes/No、True/False などの 2 つのクラス)が含まれるターゲット フィールドで使用されるときにのみ有効です。

フィールドの選択

  1. 学習対象]リストで、モデルを学習するときに入力として使用する 1 つ以上のキー フィールドを選択します。

    キー フィールドは、ラベルがないデータセットで対象フィールド値を予測する基礎となる機能です。 キー フィールドは、文字、数値、または論理型を使用できます。

    メモ

    文字フィールドは「分類的」である必要があります。 つまり、カテゴリまたはクラスを特定し、最大数の一意の値を含む必要があります。

    最大値は[最大カテゴリ]オプション([ツール > オプション > コマンド)で指定されます。

    ヒント

    隣接する複数のフィールドを選択するには、Shift キー + クリックを、隣接していない複数のフィールドを選択するには、Ctrl キー + クリックを利用できます。

  2. 対象フィールド]リストから、対象フィールドを選択します。

    対象フィールドは、入力キー フィールドに基づいて予測するようにモデルが学習されているフィールドです。

    分類と回帰はさまざまな対象フィールド データ型で機能します。

    • 分類 文字または論理対象フィールド
    • 回帰 数値対象フィールド

モデル ファイルと出力 ACL テーブルの名前を指定する

  1. モデル名]テキストボックスで、学習プロセスで出力されたモデル ファイル出力の名前を指定します。

    モデル ファイルには、学習データセットに最適なモデルが含まれます。 モデル ファイルを予測プロセスに入力し、新しい未確認のデータセットに関する予測を生成します。

  2. 保存先]テキストボックスで、学習プロセスで出力されたモデル評価テーブル出力の名前を指定します。

    モデル評価テーブルには、以下の 2 つの異なるタイプの情報が格納されています。

    • スコアラー/メトリクス。これらは、学習プロセスによって生成されたモデル ファイルの予測パフォーマンスの定量的な推定、分類メトリクスまたは回帰メトリクスを意味します。
    • 重要性/係数(降順):モデルによって生成された予測に対する各機能(予測印子)の寄与度を示す値。
  3. 現在のビューの中に処理から除外したいレコードがある場合は、[If]テキスト ボックスに条件を指定します。直接入力するか、または[If]ボタンをクリックし、式ビルダーを利用して IF ステートメントを作成します。

    メモ

    If 条件は、任意の範囲オプション(FirstNextWhile)が適用された後に、テーブルに残るレコードに対してのみ評価されます。

    IF ステートメントは、ビュー内のすべてのレコードを判断し、指定された条件を満たさないレコードを除外します。

学習データセットのサブセットのみが使用されることを指定する(任意)

詳細]タブで、[範囲]パネルのオプションのいずれかを選択します。

すべて(デフォルト) テーブルのすべてのレコードが処理されます。
先頭 このオプションを選択してテキスト ボックスに数を入力すると、テーブル内の先頭レコードから処理が開始され、指定した件数のレコードのみが処理対象とされます。
次へ

このオプションを選択してテキスト ボックスに数を入力すると、テーブル ビュー内で現在選択されているレコードから処理が開始され、指定した件数のレコードのみが処理対象とされます。

行内のデータではなく、左端の列の実際のレコード番号が選択されている必要があります。

While

WHILE ステートメントを使用して、条件に基づいてテーブル内のレコードの処理を制限するには、このオプションを選択します。

学習プロセスの詳細設定を指定する

  1. 詳細]タブ[交差検証分割数]を指定します。

    既定の数値の 5 を使用するか、別の数値を指定します。 有効な数値は 2 ~ 10 です。

    分割は学習データセットの下位分割であり、モデル評価と最適化中に、交差検証プロセスで使用されます。

    一般的に、モデルの学習時に、5 ~ 10 分割を使用すると、適切な結果が得られます。

    ヒント

    分割数が増えると、モデルの予測性能の推定値が改善されることがありますが、全体的な実行時間も長くなります。

  2. 省略可能。 [シード]を選択し、数値を入力します。

    Analytics の乱数ジェネレーターを初期化するために使用するシード値。

    シードを省略した場合は、シード値がランダムに選択されます。

    明示的にシード値を指定し、将来に学習プロセスを同じデータセットで複製したい場合は、それを記録します。

  3. 省略可能。 線形モデルのみを学習し、スコアを決定するには、[線形モデルのみを評価する]を選択します。

    このオプションを未選択にする場合、分類または再帰に関連するすべてのモデル タイプが評価されます。

    メモ

    データ セットが大きくなると、一般的に、線形モデルのみが含まれている場合に、学習プロセスがより短い時間で完了します。

    線形モデルのみを含めると、出力の係数が保証されます。

  4. 省略可能。 学習プロセスからこれらの下位プロセスを除外するには、[機能選択と前処理を無効にする]を選択します。

    機能選択は、予測モデルを最適化する際に最も有用な学習データセットで、自動化されたフィールドの選択です。 自動化された選択は予測性能を改善することがありますが、モデル最適化に関連するデータ量が減ります。

    データ前処理は、学習データセットでの調整や標準化などの変換を実行し、学習アルゴリズムにより適したものにします。

    注意

    理由がある場合にかぎり、機能選択とデータ前処理を無効にしてください。

  5. OK]をクリックします。

    学習プロセスが開始し、指定した入力設定と経過した処理時間を示すダイアログボックスが表示されます。

予測モデルをラベルがないデータセットに適用する

手順

  1. ラベルがないデータセットがある Analytics テーブルを開きます。
  2. Analytics メインメニューで、[機械学習 > 予測]を選択します。
  3. モデル]をクリックし、[ファイルを選択]ダイアログボックスで、前の学習プロセスによって生成されたモデル ファイルを選択し、[開く]をクリックします。

    モデル ファイルのファイル拡張子は *.model です。

    メモ

    モデル ファイルは、ラベルのないデータセットと同じフィールドまたはほぼ同じフィールドのデータセットで学習されている必要があります。

  4. 保存先]テキストボックスで、予測プロセスで出力された Analytics テーブル出力の名前を指定します。

    この出力テーブルには、学習プロセス中に指定したキー フィールドと、予測プロセスで生成された、以下の 1 つまたは 2 つのフィールドが含まれます。

    • 予測 ラベルがないデータセットの各レコードに関連付けられた予測されたクラスまたは数値
    • 確率(分類のみ)予測されたクラスが正しい確率
  5. 現在のビューの中に処理から除外したいレコードがある場合は、[If]テキスト ボックスに条件を指定します。直接入力するか、または[If]ボタンをクリックし、式ビルダーを利用して IF ステートメントを作成します。

    メモ

    If 条件は、任意の範囲オプション(FirstNextWhile)が適用された後に、テーブルに残るレコードに対してのみ評価されます。

    IF ステートメントは、ビュー内のすべてのレコードを判断し、指定された条件を満たさないレコードを除外します。

  6. 省略可能。 ラベルがないデータセットのサブセットのみを処理するには、[詳細]タブで、[範囲]パネルのオプションのいずれかを選択します。
  7. OK]をクリックします。

学習アルゴリズム

3 つの学習コマンド オプションは、予測モデルを学習するために使用される機械学習アルゴリズムを指示します。

オプション 学習ダイアログボックス タブ
分類または再帰 メイン]タブ
線形モデルのみを評価 詳細]タブ
機能選択と前処理を無効にする 詳細]タブ

次のセクションでは、使用されるアルゴリズムを制御するオプションを要約します。

アルゴリズム名は、Analytics ユーザー インターフェイスに表示されません。 学習コマンドによって最終的に選択されたモデルを生成するために使用されるアルゴリズムの生がログに表示されます。

分類アルゴリズム

再帰アルゴリズム