자습서: Power BI에서 Machine Learning Studio(클래식) 모델 호출(미리 보기)Tutorial: Invoke a Machine Learning Studio (classic) model in Power BI (Preview)

이 자습서에서는 Azure Machine Learning Studio(클래식) 모델의 인사이트를 Power BI에 통합합니다.In this tutorial, we walk through the experience of incorporating insights from an Azure Machine Learning Studio (classic) model into Power BI. 이 자습서는 Power BI 사용자에게 Azure ML 모델에 액세스 권한을 부여하고, 데이터 흐름을 만들고, Azure ML 모델의 인사이트를 데이터 흐름에 적용하는 데 도움이 되는 지침을 포함하고 있습니다.This tutorial includes guidance for granting a Power BI user access to an Azure ML model, creating a dataflow, and applying the insights from the Azure ML model to your dataflow. Azure ML 모델을 처음 만드는 데 도움이 되는 빠른 시작 가이드도 참조합니다.It also references the quickstart guide for creating an Azure ML model if you don't already have a model.

이 자습서에서 설명하는 단계는 다음과 같습니다.The tutorial takes you through the following steps:

  • Azure Machine Learning 모델 만들기 및 게시Create and publish an Azure Machine Learning model
  • 모델을 사용할 Power BI 사용자에게 액세스 권한 부여Grant access to a Power BI user to use the model
  • 데이터 흐름 만들기Create a dataflow
  • Azure ML 모델의 인사이트를 데이터 흐름에 적용Apply insights from the Azure ML model to the dataflow

Azure ML 모델 만들기 및 게시Create and publish an Azure ML model

연습 1단계: Machine Learning Studio(클래식) 작업 영역 만들기의 지침에 따라 Machine Learning 작업 영역을 만듭니다.Follow the instructions at Walkthrough Step 1: Create a Machine Learning Studio (classic) workspace to create a Machine Learning workspace.

이미 있는 Azure ML 모델 또는 데이터 세트와 해당 단계를 함께 사용할 수 있습니다.You can use these steps with any Azure ML model or dataset you already have. 게시된 모델이 없는 경우, 자동차 가격 예측을 위한 Azure ML 모델을 설정하는 Azure Machine Learning Studio(클래식)에서 첫 번째 데이터 과학 실험 만들기를 참조하여 몇 분 내에 모델을 만들 수 있습니다.If you don't have a published model, you can create a model in minutes by referring to Create your first data science experiment in Azure Machine Learning Studio (classic), which sets up an Azure ML model for Automobile Price Prediction.

Azure Machine Learning Studio(클래식) 웹 서비스 배포의 단계에 따라 Azure ML 모델을 웹 서비스로 게시합니다.Follow the steps at Deploy an Azure Machine Learning Studio (classic) web service to publish the Azure ML model as a web service.

Power BI 사용자에게 액세스 권한 부여Grant a Power BI user access

Power BI에서 Azure ML 모델에 액세스하려면 Azure 구독 및 리소스 그룹에 대한 읽기 권한과 Machine Learning Studio(클래식) 모델용 Azure Machine Learning Studio(클래식) 웹 서비스에 대한 읽기 권한이 있어야 합니다.To access an Azure ML model from Power BI, you must have Read access to the Azure subscription and the resource group and Read access to the Azure Machine Learning Studio (classic) web service for Machine Learning Studio (classic) models. Azure Machine Learning 모델의 경우 Machine Learning 작업 영역에 대한 읽기 권한이 필요합니다.For Azure Machine Learning model, you need Read access to the Machine Learning workspace.

다음 단계에서는 모델이 게시된 Azure 구독 및 리소스 그룹에 대한 공동 관리자라고 가정하겠습니다.The following steps assume you are the coadministrator for the Azure subscription and resource group to which the model was published.

Azure Portal에 로그인하여 구독 페이지로 이동합니다. 이 페이지는 탐색 창 메뉴에 있는 모든 서비스 목록을 사용하여 찾을 수 있습니다.Sign in to the Azure portal, and navigate to the Subscriptions page, which you can find using the All Services list in the nav pane menu.

구독이 선택된 Azure Portal을 보여 주는 스크린샷.

모델을 게시하는 데 사용한 Azure 구독을 선택하고 액세스 제어(IAM) 를 선택합니다.Select the Azure subscription that you used for publishing the model, and select Access Control (IAM). 다음으로, 역할 할당 추가 , 독자 역할, Power BI 사용자를 차례로 선택합니다.Next select Add role assignment , then select the Reader role, and select the Power BI user. 완료되면 저장 을 선택합니다.Select Save when you're done. 아래 이미지에서는 해당 선택 내용을 보여 줍니다.The following image shows these selections.

Azure Portal 액세스 제어

그런 다음, 위의 단계를 반복하여 Azure ML 모델이 배포된 특정 Machine Learning 웹 서비스의 Power BI 사용자에게 기여자 역할 액세스 권한을 부여합니다.Then repeat the steps above to grant Contributor role access to the Power BI user for the specific Machine Learning web service to which the Azure ML model has been deployed.

데이터 흐름 만들기Create a dataflow

데이터 흐름 만들기에 사용할 데이터 가져오기Get data for creating the dataflow

이전 단계에서 Azure ML 모델에 액세스 권한을 부여한 사용자 자격 증명을 사용하여 Power BI 서비스에 로그인합니다.Sign in to the Power BI service with the user credentials for whom you granted access to the Azure ML model in the previous step.

이 단계에서는 Azure ML 모델을 사용하여 점수를 매길 데이터가 CSV 형식으로 있다고 가정합니다.This step assumes you have the data you want to score with your Azure ML model in CSV format. 자동차 가격 책정 실험 을 사용하여 Machine Learning Studio(클래식)에서 모델을 만든 경우 해당 데이터 세트가 다음 링크에서 공유됩니다.If you used the Automobile Pricing Experiment to create the model in the Machine Learning Studio (classic), the dataset for is shared in the following link:

데이터 흐름 만들기Create a dataflow

데이터 흐름에 엔터티를 만들려면 Power BI 서비스에 로그인하고, 사용하도록 설정된 AI 미리 보기가 있는 용량의 작업 영역으로 이동합니다.To create the entities in your dataflow, sign in to the Power BI service and navigate to a workspace on your capacity that has the AI preview enabled.

작업 영역이 아직 없는 경우 왼쪽 메뉴에서 작업 영역 을 선택한 다음, 맨 아래 패널에서 작업 영역 만들기 를 선택하여 새로 만들 수 있습니다.If you don't already have a workspace, you can create one by selecting Workspaces in the left menu, and then select Create workspace in the panel at the bottom. 작업 영역 세부 정보를 입력하는 패널이 열립니다.This opens a panel to enter the workspace details. 작업 영역 이름을 입력하고 저장 을 선택합니다.Enter a workspace name, and then select Save.

작업 영역 만들기

작업 영역을 만든 후에는 시작 화면 오른쪽 하단의 건너뛰기 를 선택할 수 있습니다.After the workspace has been created, you can select Skip in the bottom right of the Welcome screen.

건너뛰기

데이터 흐름(미리 보기) 탭을 선택하고, 작업 영역 오른쪽 상단의 만들기 단추를 선택하고, 데이터 흐름 을 선택합니다.Select the Dataflows (preview) tab, and then select the Create button at the top right of the workspace, and then select Dataflow.

데이터 흐름(미리 보기)

새 엔터티 추가 를 선택하면 브라우저에 파워 쿼리 편집기 가 실행됩니다.Select Add new entities , which launches Power Query Editor in the browser.

새 엔터티 추가

텍스트/CSV 파일 을 데이터 원본으로 선택합니다.Select Text/CSV File as a data source.

데이터 원본 선택

다음 화면에는 데이터 원본에 연결할지 묻는 메시지가 표시됩니다.In the next screen, you're prompted to connect to a data source. Azure ML 모델을 만드는 데 사용한 데이터에 대한 링크를 붙여넣습니다.Paste the link to the data you used to create your Azure ML model. 자동차 가격 책정 데이터를 사용한 경우 다음 링크를 파일 경로 또는 URL 상자에 붙여넣고 다음 을 누릅니다.If you used the Automotive Pricing data, you can paste the following link into the File path or URL box and then Next.

https://raw.githubusercontent.com/MicrosoftLearning/Principles-of-Machine-Learning-Python/master/Module7/Automobile%20price%20data%20_Raw_.csv

데이터 원본에 연결

파워 쿼리 편집기는 CSV 파일의 데이터에 대한 미리 보기를 보여 줍니다.Power Query Editor shows a preview of the data from the CSV file. 명령 리본에서 테이블 변환 을 선택하고 첫 행을 머리글로 사용 을 선택합니다.Select Transform Table from the command ribbon and then select Use first row as headers. 오른쪽의 적용된 단계 창에 승격된 헤더 쿼리 단계가 추가됩니다.This adds the Promoted headers query step into the Applied steps pane on the right. 오른쪽 창을 사용하여 쿼리 이름을 자동차 가격 책정 같은 친근한 이름으로 바꿀 수도 있습니다.You can also rename the query to a friendlier name, such as Automobile Pricing using the pane on the right.

데이터의 미리 보기를 보여 주는 Power Query 편집기의 스크린샷.

원본 데이터 세트에 ‘?’로 설정된 알 수 없는 값이 있습니다.Our source dataset has unknown values set to '?'. 이러한 값을 정리하도록 ‘?’를 ‘0’으로 바꿔 나중에 오류가 발생하는 것을 간단하게 방지할 수 있습니다.To clean this, we can replace '?' with '0' to avoid errors later for simplicity. 이 작업을 수행하려면 열 머리글에서 해당 이름을 클릭하여 normalized-losses , bore , stroke , compression-ratio , horsepower , peak-rpmprice 열을 선택하고, '열 변환'을 클릭하고, '값 바꾸기'를 선택합니다.To do this, select the columns normalized-losses , bore , stroke , compression-ratio , horsepower , peak-rpm and price by clicking on their name in the column headers, then click on 'Transform columns' and select 'Replace values'. ‘?’를 ‘0’으로 바꿉니다.Replace '?' with '0'.

값 바꾸기

텍스트/CSV 원본의 테이블에 있는 모든 열은 텍스트 열로 처리됩니다.All the columns in the table from a Text/CSV source are treated as text columns. 그런 다음, 숫자 열을 올바른 데이터 형식으로 변경해야 합니다.Next, we need to change the numeric columns to their correct data types. 이 작업은 파워 쿼리에서 열 머리글의 데이터 형식 기호를 클릭하여 수행할 수 있습니다.You can do this in Power Query by clicking on the data type symbol in the column header. 해당 열을 다음 형식으로 변경합니다.Change the columns to the below types:

  • 정수 : symboling, normalized-losses, curb-weight, engine-size, horsepower, peak-rpm, city-mpg, highway-mpg, priceWhole number : symboling, normalized-losses, curb-weight, engine-size, horsepower, peak-rpm, city-mpg, highway-mpg, price
  • 10진수 : wheel-base, length, width, height, bore, stroke, compression-ratioDecimal number : wheel-base, length, width, height, bore, stroke, compression-ratio

열 변경

완료 를 선택하여 파워 쿼리 편집기를 닫습니다.Select Done to close Power Query Editor. 그러면 추가한 자동차 가격 책정 데이터가 포함된 엔터티 목록이 표시됩니다.This will show the entities list with the Automobile Pricing data we added. 오른쪽 위 모서리의 저장 을 선택하고, 데이터 흐름의 이름을 입력하고, 저장 을 선택합니다.Select Save in the top right corner, provide a name for the dataflow, and then select Save.

데이터 흐름 저장

데이터 흐름 새로 고침Refresh the dataflow

데이터 흐름을 저장하면 데이터 흐름이 저장되었다는 알림이 표시됩니다.Saving the dataflow displays a notification that your dataflow was saved. 지금 새로 고침 을 선택하여 원본에서 데이터 흐름으로 데이터를 수집합니다.Select Refresh now to ingest data from the source into the dataflow.

데이터 흐름 새로 고침

오른쪽 위 모서리의 닫기 를 선택하고 데이터 흐름 새로 고침이 완료될 때까지 기다립니다.Select Close in the upper right corner and wait for the dataflow refresh to complete.

작업 명령을 사용하여 데이터 흐름을 새로 고칠 수도 있습니다.You can also refresh your dataflow using the Actions commands. 새로 고침이 완료되면 데이터 흐름에 타임스탬프가 표시됩니다.The dataflow displays the timestamp when the refresh is completed.

수동 새로 고침

Azure ML 모델의 인사이트 적용Apply insights from your Azure ML model

자동차 가격 예측 에 대한 Azure ML 모델에 액세스하려면 예측 가격을 추가할 자동차 가격 책정 엔터티를 편집합니다.To access the Azure ML model for Automobile Price Prediction , you can edit the Automobile Pricing entity for which we want to add the predicted price.

엔터티 편집

편집 아이콘을 선택하면 데이터 흐름의 엔터티에 대한 파워 쿼리 편집기가 열립니다.Selecting the Edit icon opens Power Query Editor for the entities in your dataflow.

편집

리본에서 AI 인사이트 단추를 선택하고 탐색 창 메뉴의 Azure Machine Learning 모델 폴더를 선택합니다.Select the AI Insights button in the ribbon, and then select the Azure Machine Learning Models folder from the nav pane menu.

액세스 권한이 부여된 Azure ML 모델이 AzureML 접두사가 포함된 파워 쿼리 함수로 나열됩니다.The Azure ML models to which you've been granted access are listed as Power Query functions with a prefix AzureML. AutomobilePricePrediction 모델에 해당하는 함수를 클릭하면 이 모델의 웹 서비스용 매개 변수가 함수 매개 변수로 나열됩니다.When you click on the function corresponding to the AutomobilePricePrediction model, the parameters for the model's web service are listed as function parameters.

Azure ML 모델을 호출하려면 선택한 엔터티의 열을 드롭다운에서 입력으로 지정합니다.To invoke an Azure ML 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. 열 이름이 함수 매개 변수 이름 중 하나와 일치하면 해당 열이 자동으로 입력으로 제안됩니다.When a column name that matches one of the function parameter names, then the column is automatically suggested as an input. 열 이름이 일치하지 않으면 드롭다운에서 선택할 수 있습니다.If the column name doesn't match, you can select it from the drop-down.

자동차 가격 예측 모델의 경우 입력 매개 변수는 다음과 같습니다.In the case of the Automobile Pricing Prediction model, the input parameters are:

  • makemake
  • body-stylebody-style
  • wheel-basewheel-base
  • engine-sizeengine-size
  • horsepowerhorsepower
  • peak-rpmpeak-rpm
  • highway-mpghighway-mpg

여기서는 모델 학습에 사용된 원래 데이터 세트와 테이블이 일치하므로 모든 매개 변수에 올바른 열이 이미 선택되어 있습니다.In our case, since our table matches the original dataset used to train the model, all the parameters have the correct columns already selected.

모델 학습

Azure ML 모델 출력 미리 보기를 엔터티 테이블에 새 열로 표시하려면 호출 을 선택합니다.Select Invoke to view the preview of the Azure ML model's output as a new column in the entity table. 모델 호출을 쿼리의 적용 단계로 표시할 수도 있습니다.You'll also see the model invocation as an applied step for the query.

모델 출력은 출력 열에 레코드로 표시됩니다.The output of the model is shown as a record in the output column. 이 열을 확장하여 별도의 열에 개별 출력 매개 변수를 생성할 수 있습니다.You can expand the column to produce individual output parameters in separate columns. 여기서는 자동차 예측 가격이 포함된 Scored Labels 에만 관심이 있습니다.In our case, we're only interested in the Scored Labels which contains the predicted price of the automobile. 따라서 나머지를 선택 취소하고 확인 을 선택합니다.So we deselect the rest, and select OK.

모델 출력

그러면 _ Scored Labels _ 열에 Azure ML 모델의 가격 예측이 표시됩니다.The resulting Scored Labels column has the price prediction from the Azure ML model.

점수가 매겨진 레이블

데이터 흐름을 저장하면 엔터티 테이블의 모든 새 행 또는 업데이트된 행에 대해 데이터 흐름을 새로 고치는 경우 자동으로 Azure ML 모델이 호출됩니다.Once you save your dataflow, the Azure ML model will be automatically invoked when the dataflow is refreshed for any new or updated rows in the entity table.

리소스 정리Clean up resources

이 문서를 사용하여 만든 Azure 리소스가 더 이상 필요하지 않은 경우 요금이 발생하지 않도록 삭제하세요.If you no longer need the Azure resources you created using this article, delete them to avoid incurring any charges. 데이터 흐름도 더 이상 필요하지 않으면 삭제할 수 있습니다.You can also delete the dataflows you created, if you no longer require them.

다음 단계Next steps

이 자습서에서는 다음 단계에 따라 간단한 데이터 세트로 Azure Machine Learning Studio(클래식)를 사용하여 간단한 실험을 만들었습니다.In this tutorial, you created a simple experiment using Azure Machine Learning Studio (classic) using a simple dataset using these steps:

  • Azure Machine Learning 모델 만들기 및 게시Create and publish an Azure Machine Learning model
  • 모델을 사용할 Power BI 사용자에게 액세스 권한 부여Grant access to a Power BI user to use the model
  • 데이터 흐름 만들기Create a dataflow
  • Azure ML 모델의 인사이트를 데이터 흐름에 적용Apply insights from the Azure ML model to the dataflow

Power BI에서 Azure Machine Learning을 통합하는 작업에 대한 자세한 내용을 보려면 Power BI에서 Azure Machine Learning 통합(미리 보기)을 참조하세요.For more information about Azure Machine Learning integration in Power BI, see Azure Machine Learning integration in Power BI (Preview).