モデルのトレーニング

教師ありの方法で、分類または回帰モデルをトレーニングします

カテゴリ: Machine Learning/トレーニング

注意

適用対象: Machine Learning Studio (クラシック)

このコンテンツは、Studio (クラシック) のみに関連しています。 Azure Machine Learning デザイナーに同様のドラッグアンドドロップモジュールが追加されました。 この記事では、2つのバージョンの比較について詳しく説明します。

モジュールの概要

この記事では、Azure Machine Learning Studio (クラシック) の [ モデルのトレーニング ] モジュールを使用して、分類モデルまたは回帰モデルをトレーニングする方法について説明します。 トレーニングは、モデルを定義してそのパラメーターを設定した後に行います。トレーニングには、タグ付けされたデータが必要です。 モデルのトレーニング を使用して、既存のモデルを新しいデータで再トレーニングすることもできます。

トレーニング プロセスのしくみ

通常、Azure Machine Learning における機械学習モデルの作成と使用は、3 つのステップから成るプロセスです。

  1. 特定の種類のアルゴリズムを選択し、そのパラメーターまたはハイパーパラメーターを定義してモデルを構成します。 次のいずれかの種類のモデルを選択します。

    • ニューラルネットワーク、デシジョンツリー、デシジョンフォレスト、およびその他のアルゴリズムに基づく分類モデル
    • 回帰モデル。標準の線形回帰を含めることも、ニューラルネットワークや Baysian 回帰などの他のアルゴリズムを使用することもできます。
  2. ラベル付けされていて、かつアルゴリズムに適合したデータを含んだデータセットを指定します。 データとモデルの両方を モデルのトレーニング に接続してください。

    トレーニングによって生成されるのは、データから得られた統計パターンをカプセル化する、 特定のバイナリ形式のことです。 この形式は、直接変更したり、読み取ったりすることはできません。ただし、Studio (クラシック) のその他のモジュールでは、このトレーニング済みモデルを使用できます。

    モデルのプロパティを確認することもできます。 詳細については、「 結果 」セクションを参照してください。

  3. トレーニングの完了後、いずれかのスコア付けモジュールと共にトレーニング済みのモデルを使用し、新しいデータについて予測を行います。

注意

その他の特殊化された機械学習タスクにはさまざまなトレーニング方法が必要です。また、Studio (クラシック) は、それぞれに異なるトレーニングモジュールを提供します。 たとえば、イメージの検出、クラスタリング、異常 detction は、すべてカスタムトレーニング方法を使用します。 トレーニングモデル は、回帰モデルと分類モデルでのみ使用することを目的としています。

監視と教師なしのトレーニング

監視 対象」または「 教師なし learning」という用語を聞いたことがあります。 トレーニングモデル での分類または回帰モデルのトレーニングは、監視対象の 機械学習 の典型的な例です。 つまり、パターンの学習に使用する履歴データを含むデータセットを提供する必要があります。 データには、予測しようとしている結果 (ラベル) と関連する要因 (変数) の両方が含まれている必要があります。 機械学習モデルでは、結果を最適に予測する機能を決定する必要があります。

トレーニングプロセス中、データは結果別に並べ替えられ、アルゴリズムは統計パターンを抽出してモデルを構築します。

教師なし learning は、結果が不明であるか、または既知のラベルを使用しないことを示します。 たとえば、クラスタリングアルゴリズムでは通常、教師なし learning メソッドを使用しますが、使用可能な場合はラベルを使用できます。 もう1つの例は、 LDAを使用したトピックのモデリングです。 これらのアルゴリズムでは、 トレーニングモデル を使用できません。

ヒント

Machine learning の新機能 このチュートリアルでは、データの取得、アルゴリズムの構成、トレーニングを行い、モデルを使用するプロセスについて説明します。最初の machine learning の実験を作成します。

モデルのトレーニング を使用する方法

  1. Azure Machine Learning Studio (クラシック) で、 分類モデル または 回帰モデル モデルを構成します。

    また、 Create R modelを使用して作成されたカスタムモデルをトレーニングすることもできます。

  2. モデルのトレーニング モジュールを実験に追加します。 このモジュールは、 [Machine Learning](機械学習) カテゴリにあります。 [Train](トレーニング) を展開し、モデルのトレーニング モジュールを実験にドラッグします。

  3. 左側の入力に、トレーニングされていないモードをアタッチします。 モデルのトレーニング の右側の入力にトレーニング データセットをアタッチします。

    トレーニング データセットには、ラベル列が含まれている必要があります。 ラベルのない行は無視されます。

  4. [Label column](ラベル列)[Launch column selector](列セレクターの起動) をクリックし、モデルのトレーニングに使用できる結果を含んだ列を 1 つ選択します。

    • 分類問題の場合、ラベル列には カテゴリ 値または 離散 値が含まれている必要があります。 たとえば、Yes/No 評価や疾患分類コード (または名前)、所得層が該当します。 非カテゴリ列を選んだ場合、トレーニング中にモジュールからエラーが返されます。

    • 回帰問題の場合、ラベル列には、応答変数を表す 数値 データが含まれている必要があります。 連続スケールを表す数値データが理想です。

    たとえば、信用リスク スコアや、ハード ドライブの推定故障時間、特定の日時におけるコール センターの推定着信数が該当します。 数値列を選択しなかった場合、エラーが返されます。

    • 使用するラベル列を指定しなかった場合、Azure Machine Learning は、データセットのメタデータを使用して適切なラベル列の推測を試みます。 間違った列が選択された場合は、列セレクターを使用して修正してください。

    ヒント

    列セレクターの使い方のヒントについては、「Select Columns in Dataset (データセットの列を選択する)」の記事を参照してください。 [WITH RULES](規則を使用) オプションと [名前別] オプションの使い方についてのヒントといくつかの一般的なシナリオが取り上げられています。

  5. 実験を実行します。 データの量が多いと、この処理にしばらく時間がかかる場合があります。

結果

モデルのトレーニング後、次の作業を行います。

  • モデルのパラメーターと特徴の重みを表示するには、出力を右クリックして、[Visualize](可視化) を選択します。

  • このモデルを他の実験で使用するには、モデルを右クリックして [Save Model](モデルの保存) を選択します。 モデルの名前を入力してください。

    モデルはスナップショットとして保存されます。実験を繰り返し実行してもスナップショットは更新されません。

  • 新しい値の予測にモデルを使用するには、それを新しい入力データと共にモデルのスコア付けモジュールに接続します。

モデルのトレーニング でサポートされていない種類のモデルをトレーニングする必要がある場合は、いくつかのオプションがあります。

機械学習実験で モデルのトレーニング モジュールを使用する方法の例については、 Azure AI Galleryの次の実験を参照してください。

  • 小売予測: 複数のモデルを作成、トレーニング、および比較する方法を示します。
  • フライト遅延予測: 複数の関連分類モデルをトレーニングする方法を示します。

想定される入力

名前 Type 説明
未トレーニング モデル ILearner インターフェイス 未トレーニングの学習器
データセット データ テーブル トレーニング データ

モジュールのパラメーター

名前 Range Type Default 説明
ラベル列 any ColumnSelection ラベルまたは結果列を含む列を選択します

出力

名前 Type 説明
トレーニングされたモデル ILearner インターフェイス トレーニング済みの学習器

例外

すべてのモジュールエラーの一覧については、「 モジュールのエラーコード」を参照してください。

例外 説明
エラー 0032 引数が数値ではない場合、例外が発生します。
エラー 0033 引数が無限である場合、例外が発生します。
エラー 0083 トレーニングに使用されたデータセットを学習器の具象型に使用できない場合、例外が発生します。
エラー 0035 特定のユーザーまたは項目に対して特徴が提供されなかった場合、例外が発生します。
エラー 0003 1 つまたは複数の入力が null または空の場合、例外が発生します。
エラー 0020 モジュールに渡された一部のデータセットの列の数が少なすぎる場合、例外が発生します。
エラー 0021 モジュールに渡された一部のデータセットの行の数が少なすぎる場合、例外が発生します。
エラー 0013 渡されたモジュール学習器の型が無効の場合に、例外が発生します。

関連項目

モデルの評価
モジュールの一覧 (アルファベット順)