チュートリアル:Power BI で機械学習モデルを構築するTutorial: Build a Machine Learning model in Power BI

このチュートリアルの記事では、自動機械学習を使用して、Power BI でバイナリの予測モデルを作成して適用します。In this tutorial article, you use Automated Machine Learning to create and apply a binary prediction model in Power BI. このチュートリアルには、Power BI データフローを作成し、データフローで定義されているエンティティを使用して機械学習モデルを Power BI で直接トレーニングおよび検証するためのガイダンスが含まれています。The tutorial includes guidance for creating a Power BI dataflow, and using the entities defined in the dataflow to train and validate a machine learning model directly in Power BI. また、そのモデルを使用して新しいデータをスコア付けし、予測を生成します。We then use that model for scoring new data to generate predictions.

まず、バイナリの予測機械学習モデルを作成して、オンライン セッション属性のセットに基づいてオンラインの買い物客の購入意図を予測します。First, you'll create a Binary Prediction machine learning model, to predict the purchase intent of online shoppers based on a set of their online session attributes. この演習には、ベンチマーク機械学習データセットが使用されます。A benchmark machine learning dataset is used for this exercise. モデルのトレーニングが完了すると、モデルの結果を説明する検証レポートが Power BI によって自動的に生成されます。Once a model is trained, Power BI will automatically generate a validation report explaining the model results. この検証レポートを確認し、スコア付けのためにモデルをデータに適用できます。You can then review the validation report and apply the model to your data for scoring.

このチュートリアルは、次の手順で構成されています。This tutorial consists of following steps:

  • 入力データを使用してデータフローを作成するCreate a dataflow with the input data
  • 機械学習モデルの作成とトレーニングCreate and train a machine learning model
  • モデル検証レポートを確認するReview the model validation report
  • データフロー エンティティにモデルを適用するApply the model to a dataflow entity
  • モデルのスコア付けされた出力を Power BI レポートで使用するUsing the scored output from the model in a Power BI report

入力データを使用してデータフローを作成するCreate a dataflow with the input data

このチュートリアルの最初の部分では、入力データを使用してデータフローを作成します。The first part of this tutorial is to create a dataflow with input data. このプロセスでは、以下のセクションで示すように、データの取得を始め、いくつかの手順を実行します。That process takes a few steps, as shown in the following sections, beginning with getting data.

データを取得Get data

データフローを作成する最初の手順として、データ ソースを準備します。The first step in creating a dataflow is to have your data sources ready. このケースでは、一連のオンライン セッションの機械学習データセットを使用しており、その一部は購入に至っています。In our case, we use a machine learning dataset from a set of online sessions, some of which culminated in a purchase. データセットにはこれらのセッションに関する一連の属性が含まれ、それをモデルのトレーニングに使用します。The dataset contains a set of attributes about these sessions, which we'll use for training our model.

データセットは、UC Irvine Web サイトからダウンロードできます。You can download the dataset from the UC Irvine website. また、このチュートリアルのために、online_shoppers_intention.csv のリンクからこれを入手することもできます。We also have this available, for the purpose of this tutorial, from the following link: online_shoppers_intention.csv.

エンティティを作成するCreate the entities

データフローにエンティティを作成するには、Power BI サービスにサインインし、AI が有効になっている専用容量内のワークスペースに移動します。To create the entities in your dataflow, sign into the Power BI service and navigate to a workspace on your dedicated capacity that has AI enabled.

ワークスペースがまだない場合は、Power BI サービスのナビ ペイン メニューで [ワークスペース] を選択して作成し、表示されるパネルの下部にある [ワークスペースの作成] を選択します。If you don't already have a workspace, you can create one by selecting Workspaces in the nav pane menu in the Power BI service, and select Create workspace at the bottom of the panel that appears. これで、ワークスペースの詳細を入力するパネルが右側に開きます。This opens a panel on the right to enter the workspace details. ワークスペース名を入力し、 [詳細] を選択します。Enter a workspace name and select Advanced. ラジオ ボタンを使用してワークスペースに [専用の容量] が使用されていること、AI プレビューが有効になっている専用の容量インスタンスに割り当てられていることを確認します。Confirm that the workspace uses Dedicated Capacity using the radio button, and that it's assigned to a dedicated capacity instance that has the AI preview turned on. その後、 [保存] を選びます。Then select Save.

ワークスペースの作成

ワークスペースが作成されたら、次の図に示すように、ようこそ画面の右下にある [スキップ] を選択できます。Once the workspace is created, you can select Skip in the bottom right of the Welcome screen, as shown in the following image.

ワークスペースがある場合はスキップする

ワークスペースの右上にある [作成] ボタンを選択し、 [データフロー] を選択します。Select the Create button at the top right of the workspace, and then select Dataflow.

データフローを作成する

[新しいエンティティを追加] を選択します。Select Add new entities. これにより、ブラウザーで Power Query エディターが起動します。This launches a Power Query editor in the browser.

新しいエンティティを追加

次の図に示すように、データ ソースとして [Text/CSV File](テキスト/CSV ファイル) を選択します。Select Text/CSV File as a data source, shown in the following image.

[Text/CSV File](テキスト/CSV ファイル) の選択

次に表示される [データ ソースへの接続] ページで、 [File path or URL](ファイル パスまたは URL) ボックスに online_shoppers_intention.csv への次のリンクを貼り付け、 [次へ] を選択します。In the Connect to a data source page that appears next, paste the following link to the online_shoppers_intention.csv into the File path or URL box, and then select Next.

https://raw.githubusercontent.com/santoshc1/PowerBI-AI-samples/master/Tutorial_AutomatedML/online_shoppers_intention.csv

ファイル パス

Power Query エディターに、CSV ファイル内のデータのプレビューが表示されます。The Power Query Editor shows a preview of the data from the CSV file. 右側のペインにある [名前] ボックスの値を変更することで、クエリの名前をわかりやすい名前に変更できます。You can rename the query to a friendlier name by changing the value in the Name box found in the right pane. たとえば、クエリ名を Online Visitors に変更できます。For example, you could change the Query name to Online Visitors.

フレンドリ名に変更する

列の型は Power Query によって自動的に推測されます。Power Query automatically infers the type of columns. 列ヘッダーの上部にある属性の種類アイコンをクリックすると、列の型を変更できます。You can change the column type by clicking on the attribute type icon at the top of the column header. この例では、Revenue 列の型を [True/False] に変更します。In this example, we change the type of the Revenue column to True/False.

データ型を変更する

[保存して閉じる] ボタンを選択して Power Query エディターを閉じます。Select the Save & close button to close Power Query Editor. データフローの名前を指定し、次の図に示すように、ダイアログの [保存] を選択します。Provide a name for the dataflow, and then select Save on the dialog, as shown in the following image.

データフローを保存する

機械学習モデルの作成とトレーニングCreate and train a machine learning model

機械学習モデルを追加するには、トレーニング データとラベル情報が含まれている基本エンティティの [アクション] 一覧で [ML モデルを適用します] ボタンを選択し、 [機械学習モデルの追加] を選択します。To add a machine learning model, Select the Apply ML model button in the Actions list for the base entity that contains your training data and label information, and then select Add a machine learning model.

機械学習モデルの追加

機械学習モデルを作成するための最初の手順は、予測する結果フィールドを含む履歴データを特定することです。The first step for creating our machine learning model is to identify the historical data including the outcome field that you want to predict. モデルは、このデータから学習することで作成されます。The model will be created by learning from this data.

使用しているデータセットのケースでは、これは Revenue フィールドです。In the case of the dataset we're using, this is the Revenue field. [Outcome field](結果フィールド) の値として [Revenue] を選択し、 [次へ] を選択します。Select Revenue as the 'Outcome field' value and then select Next.

履歴データを選択する

次に、作成する機械学習モデルの種類を選択する必要があります。Next, we must select the type of machine learning model to create. Power BI では、特定した結果フィールドの値が分析され、そのフィールドを予測するために作成できる機械学習モデルの種類が提案されます。Power BI analyzes the values in the outcome field that you've identified and suggests the types of machine learning models that can be created to predict that field.

このケースでは、ユーザーが購入するかどうかのバイナリの結果を予測しているので、[バイナリの予測] が提案されます。In this case since we're predicting a binary outcome of whether a user will make a purchase or not, Binary Prediction is recommended. ここで関心があるのは購入を行うユーザーの予測であるため、最も関心のある収益の結果として [True] を選択します。Since we are interested in predicting users who will make a purchase, select True as the Revenue outcome that you're most interested in. さらに、モデルの検証結果を要約する、自動的に生成されるレポートで使用される結果に対してわかりやすいラベルを指定することもできます。Additionally, you can provide friendly labels for the outcomes to be used in the automatically generated report that will summarize the results of the model validation. [次へ] を選択します。Then select Next.

[バイナリの予測] の予測

次に、Power BI によってデータのサンプルの事前スキャンが行われ、より正確な予測が生成される可能性のある入力が提案されます。Next, Power BI does a preliminary scan of a sample of your data and suggests the inputs that may produce more accurate predictions. Power BI によってフィールドが提案されない場合は、その横に説明が表示されます。If Power BI doesn't recommend a field, an explanation would be provided next to it. モデルに学習させるフィールドだけを含めるように選択を変更することも、エンティティ名の横にあるチェック ボックスをオンにしてすべてのフィールドを選択することもできます。You have the option to change the selections to include only the fields you want the model to study, or you can select all the fields by selecting the checkbox next to the entity name. [次へ] を選択して入力を受け入れます。Select Next to accept the inputs.

[次へ] チェックボックスを選択する

最後の手順では、モデルの名前を指定する必要があります。In the final step, we must provide a name for our model. モデルに Purchase Intent Prediction という名前を付けます。Name the model Purchase Intent Prediction. トレーニング時間を短縮して簡単な結果を表示するか、トレーニングにかける時間を増やして最適なモデルを得るかを選択できます。You can choose to reduce the training time to see quick results or increase the amount of time spent in training to get the best model. 次に、 [Save and train](保存してトレーニング) を選択して、モデルのトレーニングを開始します。Then select Save and train to start training the model.

モデルを保存する

トレーニング プロセスは、履歴データをサンプリングして正規化し、データセットを 2 つの新しいエンティティ Purchase Intent Prediction Training DataPurchase Intent Prediction Testing Data に分割することから始まります。The training process will begin by sampling and normalizing your historical data and splitting your dataset into two new entities Purchase Intent Prediction Training Data and Purchase Intent Prediction Testing Data.

データセットのサイズによっては、トレーニング プロセスに、数分から、前の画面で選択したトレーニング時間までかかることがあります。Depending on the size of the dataset, the training process can take anywhere from a few minutes to the training time selected at the previous screen. この時点で、データフローの [機械学習モデル] タブでモデルを確認できます。At this point, you can see the model in the Machine learning models tab of the dataflow. [準備完了] の状態は、モデルがトレーニングのためにキューに格納されているか、トレーニング中であることを示します。The Ready status indicates that the model has been queued for training or is under training.

データフローの状態によって、モデルがトレーニング中および検証中であることを確認できます。You can confirm that the model is being trained and validated through the status of the dataflow. これは、ワークスペースの [データフロー] タブで進行中のデータ更新と表示されます。This appears as a data refresh in progress in the Dataflows tab of the workspace.

トレーニングの準備完了

モデルのトレーニングが完了すると、データフローに更新された更新時間が表示されます。Once the model training is completed, the dataflow displays an updated refresh time. データフローの [機械学習モデル] タブに移動すると、モデルがトレーニング済みであることを確認できます。You can confirm that the model is trained, by navigating to the Machine learning models tab in the dataflow. 作成したモデルには [トレーニング済み] と表示され、 [最後のトレーニング] の時刻が更新されます。The model you created should show status as Trained and the Last Trained time should now be updated.

最後のトレーニング時刻

モデル検証レポートを確認するReview the model validation report

モデル検証レポートを確認するには、[機械学習モデル] タブで、モデルの [アクション] 列の [トレーニング レポートの表示] ボタンを選択します。To review the model validation report, in the Machine learning models tab, select the View training report button in the Actions column for the model. このレポートには、機械学習モデルがどのように実行される可能性があるかが示されます。This report describes how your machine learning model is likely to perform.

レポートの [モデル パフォーマンス] ページで、 [See top predictors](最上位の予測子を表示する) を選択して、モデルの最上位の予測子を表示します。In the Model Performance page of the report, select See top predictors to view the top predictors for your model. 予測子のいずれかを選択して、結果の分布がその予測子にどのように関連付けられているかを確認できます。You can select one of the predictors to see how the outcome distribution is associated with that predictor.

モデル パフォーマンス

[モデル パフォーマンス] ページの [Probability Threshold](確率しきい値) スライサーを使用すると、モデルの精度とリコールに対する影響を確認できます。You can use the Probability Threshold slicer on the Model Performance page to examine its influence on the Precision and Recall for the model.

確率しきい値

レポートの他のページには、モデルの統計的なパフォーマンス メトリックが記載されます。The other pages of the report describe the statistical performance metrics for the model.

このレポートには、実行されたさまざまなイテレーション、入力からの特徴の抽出方法、および最後に使用されたモデルのハイパーパラメーターが記述された [トレーニングの詳細] ページも含まれています。The report also includes a Training Details page that describes the different iterations that were run, how features were extracted from the inputs, and the hyperparameters for the final model used.

データフロー エンティティにモデルを適用するApply the model to a dataflow entity

レポートの上部にある [モデルの適用] ボタンを選択すると、このモデルが呼び出されます。Select the Apply model button at the top of the report to invoke this model. [適用] ダイアログで、モデルを適用するソース データを含むターゲット エンティティを指定できます。In the Apply dialog, you can specify the target entity that has the source data to which the model should be applied.

モデルを適用します

プロンプトが表示されたら、データフローを [更新] して、モデルの結果をプレビューする必要があります。When prompted, you must Refresh the dataflow to preview the results of your model.

モデルを適用すると、enriched <モデル名>enriched <モデル名> descriptions のサフィックスが付いた 2 つの新しいエンティティが作成されます。Applying the model will create two new entities, with the suffix enriched <model_name> and enriched <model_name> explanations. この例では、モデルを Online Visitors エンティティに適用すると、モデルからの予測出力が含まれる Online Visitors enriched Purchase Intent Prediction と、予測の上位レコード固有のインフルエンサーが含まれる Online Visitors enriched Purchase Intent Prediction explanations が作成されます。In our case, applying the model to the Online Visitors entity will create Online Visitors enriched Purchase Intent Prediction which includes the predicted output from the model, and Online Visitors enriched Purchase Intent Prediction explanations which contains top record-specific influencers for the prediction.

バイナリの予測モデルを適用すると、予測された結果、確率スコア、予測の上位レコード固有のインフルエンサー、および説明インデックス用の 4 つの列が追加されます。それぞれの列には、指定した列名がプレフィックスとして付けられます。Applying a Binary Prediction model adds four columns with predicted outcome, probability score, the top record-specific influencers for the prediction, and explanation index each prefixed with the column name specified.

結果の 3 列

データフローの更新が完了したら、Online Visitors enriched Purchase Intent Prediction エンティティを選択して結果を確認できます。Once the dataflow refresh is completed, you can select the Online Visitors enriched Purchase Intent Prediction entity to view the results.

結果を表示する

データフローで Power Query エディターから直接、ワークスペース内で任意の AutoML モデルを呼び出すこともできます。You can also invoke any AutoML model in the workspace, directly from the Power Query Editor in your dataflow. 下図に示すように、AutoML モデルにアクセスするには、AutoML モデルからの分析情報で強化するエンティティの [編集] ボタンを選択します。To access the AutoML models, select the Edit button for the entity that you want to enrich with insights from your AutoML model, as shown in the following image.

エンティティを編集する

[編集] ボタンを選択すると、データフロー内でエンティティの Power Query エディターが開きます。Selecting the Edit button opens the Power Query Editor for the entities in your dataflow. リボンの [AI 分析情報] ボタンを選択します。Select the AI Insights button in the ribbon.

AI 分析情報

ナビ ペイン メニューから Power BI の [機械学習モデル] フォルダーを選択します。Select the Power BI Machine Learning Models folder from the nav pane menu. アクセス権があるすべての AutoML モデルが Power Query 関数としてここに一覧表示されます。All the AutoML models to which you have access are listed here as Power Query functions. また、AutoML モデルの入力パラメーターは、対応する Power Query 関数のパラメーターとして自動的にマップされます。Also, the input parameters for the AutoML model are automatically mapped as parameters of the corresponding Power Query function. パラメーターの名前とデータ型が同じ場合にのみ、パラメーターは自動的にマッピングされることにご注意ください。Note that automatic mapping of parameters happens only if the name and data type of the parameter is the same.

AutoML モデルを呼び出すには、選択したエンティティのいずれかの列を、ドロップダウン リストからの入力として指定します。To invoke an AutoML model, you can specify any of the selected entity's columns as an input from the drop-down. 入力ダイアログの左側にある列アイコンを切り替えることにより、入力として使用する定数値を指定することもできます。You can also specify a constant value to be used as an input by toggling the column icon to the left of the input dialog.

PQO 関数ブラウザー

[適用] を選択すると、AutoML モデルの出力のプレビューが、エンティティ テーブルの新しい列として表示されます。Select Apply to view the preview of the AutoML model's output as a new columns in the entity table. また、モデル呼び出しが、クエリに適用された手順として表示されます。You will also see the model invocation as an applied step for the query.

結果の表示

データフローを保存すると、データフローの更新時に (エンティティ テーブルの行の新規作成や更新に対して) モデルが自動的に呼び出されます。Once you save your dataflow, the model is automatically invoked when the dataflow is refreshed, for any new or updated rows in the entity table.

モデルのスコア付けされた出力を Power BI レポートで使用するUsing the scored output from the model in a Power BI report

機械学習モデルからのスコア付けされた出力を使用するには、データフロー コネクタを使用して、Power BI デスクトップからデータフローに接続できます。To use the scored output from your machine learning model you can connect to your dataflow from the Power BI desktop, using the Dataflows connector. これで、Online Visitors enriched Purchase Intent Prediction エンティティを使用して、モデルの予測を Power BI のレポートに組み込むことができるようになりました。The Online Visitors enriched Purchase Intent Prediction entity can now be used to incorporate the predictions from your model in Power BI reports.

次の手順Next steps

このチュートリアルでは、次の手順に従って Power BI でバイナリの予測モデルを作成して適用しました。In this tutorial, you created and applied a binary prediction model in Power BI using these steps:

  • 入力データを使用してデータフローを作成するCreate a dataflow with the input data
  • 機械学習モデルの作成とトレーニングCreate and train a machine learning model
  • モデル検証レポートを確認するReview the model validation report
  • データフロー エンティティにモデルを適用するApply the model to a dataflow entity
  • モデルのスコア付けされた出力を Power BI レポートで使用するUsing the scored output from the model in a Power BI report

Power BI での機械学習の自動化の詳細については、「Power BI での自動化された機械学習」を参照してください。For more information about Machine Learning automation in Power BI, see Automated Machine Learning in Power BI.