チュートリアル 2:信用リスク モデルをトレーニングする - Azure Machine Learning Studio (クラシック)Tutorial 2: Train credit risk models - Azure Machine Learning Studio (classic)

このチュートリアルでは、予測分析ソリューションを開発するプロセスについて詳しく説明します。In this tutorial, you take an extended look at the process of developing a predictive analytics solution. クラシック バージョンの Machine Learning Studio で単純なモデルを開発します。You develop a simple model in the classic version of Machine Learning Studio. その後、そのモデルを Azure Machine Learning Web サービスとしてデプロイします。You then deploy the model as an Azure Machine Learning web service. このデプロイ モデルは、新しいデータを使用して予測を行うことができます。This deployed model can make predictions using new data. このチュートリアルは、3 部構成のチュートリアル シリーズのパート 2 です。This tutorial is part two of a three-part tutorial series.

クレジットの申請書に記入する情報に基づいて個人のクレジット リスクを予測する必要があるとします。Suppose you need to predict an individual's credit risk based on the information they gave on a credit application.

信用リスクの評価は複雑な問題ですが、このチュートリアルでは、それを少し簡略化してみます。Credit risk assessment is a complex problem, but this tutorial will simplify it a bit. Microsoft Azure Machine Learning Studio (クラシック) を使用して予測分析ソリューションを作成する方法の例として使用してください。You'll use it as an example of how you can create a predictive analytics solution using Microsoft Azure Machine Learning Studio (classic). このソリューションでは、クラシック バージョンの Azure Machine Learning Studio と Machine Learning Web サービスを使用します。You'll use the classic version of Azure Machine Learning Studio and a Machine Learning web service for this solution.

この 3 部構成のチュートリアルでは、まず、公表されている信用リスク データを使用します。In this three-part tutorial, you start with publicly available credit risk data. その後、予測モデルを開発してトレーニングします。You then develop and train a predictive model. 最後にそのモデルを Web サービスとしてデプロイします。Finally you deploy the model as a web service.

チュートリアルのパート 1 では、Machine Learning Studio (クラシック) ワークスペースを作成し、データをアップロードし、実験を作成しました。In part one of the tutorial, you created a Machine Learning Studio (classic) workspace, uploaded data, and created an experiment.

チュートリアルのこのパートでは、次のことを行います。In this part of the tutorial you:

  • 複数のモデルをトレーニングするTrain multiple models
  • モデルにスコアを付け、評価するScore and evaluate the models

チュートリアルのパート 3 では、モデルを Web サービスとしてデプロイします。In part three of the tutorial, you'll deploy the model as a web service.

前提条件Prerequisites

このチュートリアルのパート 1 を完了しました。Complete part one of the tutorial.

複数のモデルをトレーニングするTrain multiple models

クラシック バージョンの Azure Machine Learning Studio を使用して機械学習モデルを作成することの利点の 1 つは、1 つの実験で複数種類のモデルを同時に試してそれらの結果を比較できることです。One of the benefits of using the classic version of Azure Machine Learning Studio for creating machine learning models is the ability to try more than one type of model at a time in a single experiment and compare the results. このような実験は、問題の最善の解決策を見つけるのに役立ちます。This type of experimentation helps you find the best solution for your problem.

このチュートリアルで開発している実験では、2 種類の異なるモデルを作成し、それらのスコア結果を比較することで、最終的な実験で使用するアルゴリズムを決定します。In the experiment we're developing in this tutorial, you'll create two different types of models and then compare their scoring results to decide which algorithm you want to use in our final experiment.

選択できるモデルは数多くあります。There are various models you could choose from. これらのモデルを表示するには、モジュール パレットの [機械学習] ノードを展開して、 [モデルの初期化] とその下にあるノードを展開します。To see the models available, expand the Machine Learning node in the module palette, and then expand Initialize Model and the nodes beneath it. 実験の目的に合わせて、2 クラス サポート ベクター マシン (SVM) モジュールと 2 クラス ブースト デシジョン ツリー モジュールを選択します。For the purposes of this experiment, you'll select the Two-Class Support Vector Machine (SVM) and the Two-Class Boosted Decision Tree modules.

ヒント

解決しようとしている特定の問題に最適な機械学習アルゴリズムを決定するには、Microsoft Azure Machine Learning Studio (クラシック) のアルゴリズムの選択方法に関する記事をご覧ください。To get help deciding which Machine Learning algorithm best suits the particular problem you're trying to solve, see How to choose algorithms for Microsoft Azure Machine Learning Studio (classic).

2 クラス ブースト デシジョン ツリー モジュールと 2 クラス サポート ベクター マシン モジュールの両方を実験に追加します。You'll add both the Two-Class Boosted Decision Tree module and Two-Class Support Vector Machine module in this experiment.

2 クラス ブースト デシジョン ツリーTwo-Class Boosted Decision Tree

まず、ブースト デシジョン ツリー モデルを以下の手順で設定します。First, set up the boosted decision tree model.

  1. モジュール パレットで 2 クラス ブースト デシジョン ツリー モジュールを見つけ、キャンバスにドラッグします。Find the Two-Class Boosted Decision Tree module in the module palette and drag it onto the canvas.

  2. モデルのトレーニング モジュールを見つけてキャンバスにドラッグします。その後、2 クラス ブースト デシジョン ツリー モジュールの出力を、モデルのトレーニング モジュールの左側の入力ポート に接続します。Find the Train Model module, drag it onto the canvas, and then connect the output of the Two-Class Boosted Decision Tree module to the left input port of the Train Model module.

    2 クラス ブースト デシジョン ツリー モジュールは汎用モデルを初期化し、トレーニング モデル モジュールはトレーニング データを使用してモデルをトレーニングします。The Two-Class Boosted Decision Tree module initializes the generic model, and Train Model uses training data to train the model.

  3. 左側の R スクリプトの実行モジュールの左側の出力を、モデルのトレーニング モジュールの右側の入力ポートに接続します (このチュートリアルでは、データの分割モジュールの左側から出力されるデータをトレーニング用に使用しました)。Connect the left output of the left Execute R Script module to the right input port of the Train Model module (in this tutorial you used the data coming from the left side of the Split Data module for training).

    ヒント

    この実験では、R スクリプトの実行モジュールの入力 2 つと出力 1 つは必要ないため、そのままにしておきます。you don't need two of the inputs and one of the outputs of the Execute R Script module for this experiment, so you can leave them unattached.

実験の一部は以下のようになっているはずです。This portion of the experiment now looks something like this:

Training a model

次に、モデルのトレーニング モジュールに対して、このモデルでは信用リスク値を予測するように通知する必要があります。Now you need to tell the Train Model module that you want the model to predict the Credit Risk value.

  1. Train Model (モデルのトレーニング) モジュールを選択します。Select the Train Model module. [プロパティ] ウィンドウで、 [列セレクターの起動] をクリックします。In the Properties pane, click Launch column selector.

  2. [1 つの列の選択] ダイアログで、 [使用可能な列] の下の検索フィールドに「Credit risk」と入力し、右矢印ボタン ( > ) をクリックして [Credit risk] を [選択した列] に移動します。In the Select a single column dialog, type "credit risk" in the search field under Available Columns, select "Credit risk" below, and click the right arrow button (>) to move "Credit risk" to Selected Columns.

    モデルのトレーニング モジュールの Credit Risk列の選択

  3. OK チェック マークをクリックします。Click the OK check mark.

2 クラス サポート ベクター マシンTwo-Class Support Vector Machine

次に SVM モデルを設定します。Next, you set up the SVM model.

最初に、SVM について少し説明されます。First, a little explanation about SVM. ブースト デシジョン ツリーはあらゆる種類の特徴で問題なく使うことができます。Boosted decision trees work well with features of any type. ただし、SVM モジュールは線形分類子を生成するため、これによって生成されるモデルでは、すべての数値特徴のスケールが同一である場合に最適なテスト エラーが得られます。However, since the SVM module generates a linear classifier, the model that it generates has the best test error when all numeric features have the same scale. すべての数値特徴を同じスケールに変換するには、"Tanh" 変換 (データの正規化モジュール) を使用します。To convert all numeric features to the same scale, you use a "Tanh" transformation (with the Normalize Data module). これによって特徴が [0,1] の範囲に変換されます。This transforms our numbers into the [0,1] range. 文字列特徴は SVM モジュールによってカテゴリ特徴に変換され、バイナリ 0/1 特徴に変換されます。このため文字列特徴を手動で変換する必要はありません。The SVM module converts string features to categorical features and then to binary 0/1 features, so you don't need to manually transform string features. また、[Credit Risk] 列 (21 列目) は変換しません。これは数値ですが、トレーニングによってモデルが予測する値です。このため、この値はそのままにしておきます。Also, you don't want to transform the Credit Risk column (column 21) - it's numeric, but it's the value we're training the model to predict, so you need to leave it alone.

SVM モデルを設定するには、次の操作を行います。To set up the SVM model, do the following:

  1. モジュール パレットで 2 クラス サポート ベクター マシン モジュールを見つけ、キャンバスにドラッグします。Find the Two-Class Support Vector Machine module in the module palette and drag it onto the canvas.

  2. モデルのトレーニング モジュールを右クリックして [コピー] を選択し、キャンバスを右クリックして [貼り付け] を選択します。Right-click the Train Model module, select Copy, and then right-click the canvas and select Paste. モデルのトレーニング モジュールのコピーでも、元のモジュールと同じ列が選択されています。The copy of the Train Model module has the same column selection as the original.

  3. 2 クラス サポート ベクター マシン モジュールの出力を、2 つ目のモデルのトレーニング モジュールの左側の入力ポート に接続します。Connect the output of the Two-Class Support Vector Machine module to the left input port of the second Train Model module.

  4. データの正規化モジュールを見つけ、キャンバスにドラッグします。Find the Normalize Data module and drag it onto the canvas.

  5. 左側の R スクリプトの実行モジュールの左側の出力を、このモジュールの入力に接続します (モジュールの出力ポートは、複数のモジュールに接続できることに注意してください)。Connect the left output of the left Execute R Script module to the input of this module (notice that the output port of a module may be connected to more than one other module).

  6. データの正規化モジュールの左側の出力ポートを、2 つ目のモデルのトレーニング モジュールの右側の入力ポートに接続します。Connect the left output port of the Normalize Data module to the right input port of the second Train Model module.

実験の一部は以下のようになっているはずです。This portion of our experiment should now look something like this:

Training the second model

次に、データの正規化モジュールを構成します。Now configure the Normalize Data module:

  1. データの正規化モジュールをクリックして選択します。Click to select the Normalize Data module. [プロパティ] ウィンドウで、 [変換メソッド] パラメーターに [Tanh] を選択します。In the Properties pane, select Tanh for the Transformation method parameter.

  2. [列セレクターの起動] をクリックし、 [が次の値で始まる] で [列なし] を選択し、最初のドロップダウンで [含める] を選択し、2 つ目のドロップダウンで [列の型] を選択します。3 つ目のドロップダウンで [数値] を選択します。Click Launch column selector, select "No columns" for Begin With, select Include in the first dropdown, select column type in the second dropdown, and select Numeric in the third dropdown. これによって、すべての数値列が (そして数値列のみが) 変換されます。This specifies that all the numeric columns (and only numeric) are transformed.

  3. 行の右側にあるプラス記号 (+) をクリックします。ドロップダウン リストの行が作成されます。Click the plus sign (+) to the right of this row - this creates a row of dropdowns. 最初のドロップダウンで [除外] を選択し、2 つ目のドロップダウンで [列名] を選択し、テキスト フィールドに「Credit risk」と入力します。Select Exclude in the first dropdown, select column names in the second dropdown, and enter "Credit risk" in the text field. これで [Credit Risk] 列を無視することが指定されます (この列は数値であり、指定がないと変換されてしまうため、この操作を行います)。This specifies that the Credit Risk column should be ignored (you need to do this because this column is numeric and so would be transformed if you didn't exclude it).

  4. OK チェック マークをクリックします。Click the OK check mark.

    データの正規化モジュール用の列の選択

これで、データの正規化モジュールが、[Credit Risk] 列以外のすべての数値列で Tanh 変換を実行するように設定されました。The Normalize Data module is now set to perform a Tanh transformation on all numeric columns except for the Credit Risk column.

モデルにスコアを付け、評価するScore and evaluate the models

データの分割モジュールによって分離されたテスト データを使用して、トレーニング済みのモデルにスコアを付けます。you use the testing data that was separated out by the Split Data module to score our trained models. その後、2 つのモデルの結果を比較して、どちらのモデルがより適した結果を生成したかを判断します。you can then compare the results of the two models to see which generated better results.

モデルのスコア付けモジュールを追加するAdd the Score Model modules

  1. モデルのスコア付けモジュールを見つけ、キャンバスにドラッグします。Find the Score Model module and drag it onto the canvas.

  2. 2 クラス ブースト デシジョン ツリー モジュールに接続されているモデルのトレーニング モジュールを、モデルのスコア付けモジュールの左側の入力ポートに接続します。Connect the Train Model module that's connected to the Two-Class Boosted Decision Tree module to the left input port of the Score Model module.

  3. 右側の R スクリプトの実行モジュール (テスト データ) を、モデルのスコア付けモジュールの右側の入力ポートに接続します。Connect the right Execute R Script module (our testing data) to the right input port of the Score Model module.

    モデルのスコア付けモジュールの接続

    これで、モデルのスコア付けモジュールがテスト データから信用情報を取得し、モデルで実行し、テスト データの実際の信用リスク列を使用して生成されたモデルの予測と比較することができます。The Score Model module can now take the credit information from the testing data, run it through the model, and compare the predictions the model generates with the actual credit risk column in the testing data.

  4. モデルのスコア付けモジュールをコピーして貼り付けることで、2 つ目のコピーを作成します。Copy and paste the Score Model module to create a second copy.

  5. SVM モデルの出力 (つまり、2 クラス サポートベクター マシン モジュールに接続されたモデルのトレーニング モジュールの出力ポート) を、2 つ目のモデルのスコア付けモジュールの入力ポートに接続します。Connect the output of the SVM model (that is, the output port of the Train Model module that's connected to the Two-Class Support Vector Machine module) to the input port of the second Score Model module.

  6. SVM モデルでは、トレーニング用データに対する変換と同様の変換を、テスト用データにも実行する必要があります。For the SVM model, you have to do the same transformation to the test data as you did to the training data. このため、データの正規化モジュールをコピーして貼り付けることで 2 つ目のコピーを作成し、それを R スクリプトの実行モジュールの右側に接続します。So copy and paste the Normalize Data module to create a second copy and connect it to the right Execute R Script module.

  7. 2 つ目のデータの正規化モジュールの左側の出力を、2 つ目のモデルのスコア付けモジュールの右側の入力ポートに接続します。Connect the left output of the second Normalize Data module to the right input port of the second Score Model module.

    両方のモデルのスコア付け モジュールの接続

モデルの評価モジュールを追加するAdd the Evaluate Model module

2 つのスコア付けの結果を評価して比較するには、モデルの評価モジュールを使用します。To evaluate the two scoring results and compare them, you use an Evaluate Model module.

  1. モデルの評価モジュールを見つけ、キャンバスにドラッグします。Find the Evaluate Model module and drag it onto the canvas.

  2. ブースト デシジョン ツリー モデルに関連付けられたモデルのスコア付けモジュールの出力ポートを、モデルの評価モジュールの左側の入力ポートに接続します。Connect the output port of the Score Model module associated with the boosted decision tree model to the left input port of the Evaluate Model module.

  3. もう一方のモデルのスコア付けモジュールを、右側の入力ポートに接続します。Connect the other Score Model module to the right input port.

    モデルの評価モジュールの接続

実験を実行して結果を確認するRun the experiment and check the results

実験を実行するには、キャンバスの下の [実行] ボタンをクリックします。To run the experiment, click the RUN button below the canvas. これには数分かかることがあります。It may take a few minutes. 実行中であることを示す各モジュールのインジケーターが回転して、モジュールが完了すると、緑色のチェック マークが表示されます。A spinning indicator on each module shows that it's running, and then a green check mark shows when the module is finished. すべてのモジュールにチェック マークが付いたら、実験の実行は完了しています。When all the modules have a check mark, the experiment has finished running.

実験は以下のようになっているはずです。The experiment should now look something like this:

両方のモデルの評価

結果を確認するには、モデルの評価モジュールの出力ポートをクリックし、 [視覚化] を選択します。To check the results, click the output port of the Evaluate Model module and select Visualize.

モデルの評価モジュールによって生成される曲線と測定値のペアを使用して、スコア付けされた 2 つのモデルの結果を比較できるようになります。The Evaluate Model module produces a pair of curves and metrics that allow you to compare the results of the two scored models. 結果は、Receiver Operator Characteristic (ROC) 曲線、Precision/Recall 曲線、または Lift 曲線で表示できます。You can view the results as Receiver Operator Characteristic (ROC) curves, Precision/Recall curves, or Lift curves. 表示されるその他の情報には、混同行列、累積の AUC (曲線下面積) 値、その他の測定値があります。Additional data displayed includes a confusion matrix, cumulative values for the area under the curve (AUC), and other metrics. スライダーを左右に移動してしきい値を変更することで、変更が測定値に与える影響を確認することもできます。You can change the threshold value by moving the slider left or right and see how it affects the set of metrics.

グラフの右側の [スコア付けされたデータセット] または [スコア付けされた比較対象のデータセット] をクリックすると、関連付けられた曲線が強調表示され、関連する測定値が下に表示されます。To the right of the graph, click Scored dataset or Scored dataset to compare to highlight the associated curve and to display the associated metrics below. 曲線の凡例では、[スコア付けされたデータセット] は、モデルの評価モジュールの左側の入力ポート (ここでは、ブースト デシジョン ツリー モデル) に対応しています。In the legend for the curves, "Scored dataset" corresponds to the left input port of the Evaluate Model module - in our case, this is the boosted decision tree model. [スコア付けされた比較対象のデータセット] は、右側の入力ポート (この場合、SVM モデル) に対応しています。"Scored dataset to compare" corresponds to the right input port - the SVM model in our case. いずれかのラベルをクリックすると、そのモデルの曲線が強調表示され、次の図に示すように、関連する測定値が表示されます。When you click one of these labels, the curve for that model is highlighted and the corresponding metrics are displayed, as shown in the following graphic.

モデルの ROC 曲線

これらの値を検証することで、求めている結果に最も近い結果が得られるモデルを判断することができます。By examining these values, you can decide which model is closest to giving you the results you're looking for. モデルとパラメーター値を変えて実験を再度実行することもできます。You can go back and iterate on your experiment by changing parameter values in the different models.

結果の解釈とモデルのパフォーマンスの調整に関するサイエンスとアートは、このチュートリアルの範囲外です。The science and art of interpreting these results and tuning the model performance is outside the scope of this tutorial. 詳細については、次の記事を参照してください。For additional help, you might read the following articles:

ヒント

実験を実行するたびに、イテレーションの記録が実行履歴に保存されます。Each time you run the experiment a record of that iteration is kept in the Run History. キャンバスの下にある [実行履歴を表示] をクリックすると、これらのイテレーションをいつでも表示し、いつでも実験に戻ることができます。You can view these iterations, and return to any of them, by clicking VIEW RUN HISTORY below the canvas. また、 [プロパティ] ウィンドウの [前回の実行] をクリックすると、現在開いているイテレーションの前のイテレーションがすぐに表示されます。You can also click Prior Run in the Properties pane to return to the iteration immediately preceding the one you have open.

キャンバスの下にある [名前を付けて保存] をクリックすることで、実験のイテレーションのコピーを作成できます。You can make a copy of any iteration of your experiment by clicking SAVE AS below the canvas. 実験の [概要][説明] のプロパティを使用して、実験のイテレーションで行った内容を記録します。Use the experiment's Summary and Description properties to keep a record of what you've tried in your experiment iterations.

詳細については、Azure Machine Learning Studio (クラシック) での実験イテレーションの管理に関するページを参照してください。For more information, see Manage experiment iterations in Azure Machine Learning Studio (classic).

リソースのクリーンアップClean up resources

この記事を使用して作成したリソースが不要になった場合は、料金の発生を避けるために削除してください。If you no longer need the resources you created using this article, delete them to avoid incurring any charges. 方法については、製品内ユーザー データのエクスポートと削除に関するページを参照してください。Learn how in the article, Export and delete in-product user data.

次の手順Next steps

このチュートリアルでは、次の手順を完了しました。In this tutorial, you completed these steps:

  • 実験の作成Create an experiment
  • 複数のモデルをトレーニングするTrain multiple models
  • モデルにスコアを付け、評価するScore and evaluate the models

これで、このデータのモデルをデプロイする準備が整いました。You're now ready to deploy models for this data.