데이터 가져오기 및 데이터 내보내기 모듈을 사용하는 Machine Learning Studio(클래식) 웹 서비스 배포
적용 대상: Machine Learning Studio(클래식) Azure Machine Learning
Important
Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.
2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.
- ML Studio(클래식)에서 Azure Machine Learning으로 기계 학습 프로젝트 이동에 대한 정보를 참조하세요.
- Azure Machine Learning에 대해 자세히 알아보세요.
ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.
예측 실험을 만들 때 일반적으로 웹 서비스 입력 및 출력을 추가합니다. 실험을 배포할 때 소비자는 입력 및 출력을 통해 웹 서비스에서 데이터를 보내고 받을 수 있습니다. 일부 애플리케이션의 경우 소비자의 데이터를 데이터 피드에서 사용할 수 있거나 Azure Blob Storage와 같은 외부 데이터 원본에 이미 상주할 수 있습니다. 이러한 경우 웹 서비스 입력 및 출력을 사용하여 데이터를 읽고 쓸 필요가 없습니다. 대신, BES(Batch 실행 서비스)를 사용하여 데이터 가져오기 모듈을 통해 데이터 원본에서 데이터를 읽고, 데이터 내보내기 모듈을 통해 다른 데이터 위치에 점수 매기기 결과를 쓸 수 있습니다.
데이터 가져오기 및 데이터 내보내기 모듈은 HTTP를 통한 웹 URL, Hive 쿼리, Azure SQL Database, Azure Table Storage, Azure Blob Storage 내 데이터베이스, 데이터 피드 또는 SQL Server 데이터베이스 등의 다양한 데이터 위치에서 읽고 쓸 수 있습니다.
이 항목에서는 "샘플 5: 학습, 테스트, 이진 분류 평가: 성인 데이터 세트" 샘플을 사용하며 데이터 세트가 이미 censusdata라는 Azure SQL 테이블에 로드되었다고 가정합니다.
학습 실험 만들기
"샘플 5: 학습, 테스트, 이진 분류 평가: 성인 데이터 세트" 샘플을 열면 샘플 성인 인구 조사 소득 이진 분류 데이터 세트를 사용합니다. 캔버스의 실험은 다음 이미지와 유사합니다.
Azure SQL 테이블에서 데이터를 읽으려면 다음을 수행합니다.
데이터 세트 모듈을 삭제합니다.
구성 요소 검색 상자에 가져오기를 입력합니다.
결과 목록에서 데이터 가져오기 모듈을 실험 캔버스에 추가합니다.
데이터 가져오기 모듈의 출력을 누락된 데이터 정리 모듈의 입력에 연결합니다.
속성 창의 데이터 원본 드롭다운에서 Azure SQL Database를 선택합니다.
데이터베이스 서버 이름, 데이터베이스 이름, 사용자 이름 및 암호 필드에 데이터베이스에 대한 적절한 정보를 입력합니다.
데이터베이스 쿼리 필드에 다음 쿼리를 입력합니다.
select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata;
실험 캔버스 아래쪽에서 실행을 클릭합니다.
예측 실험 만들기
다음으로 웹 서비스를 배포하는 예측 실험을 설정합니다.
- 실험 캔버스 맨 아래에서 웹 서비스 설정을 클릭하고 예측 웹 서비스[권장]를 선택합니다.
- 예측 실험에서 웹 서비스 입력 및 웹 서비스 출력 모듈을 제거합니다.
- 구성 요소 검색 상자에 내보내기를 입력합니다.
- 결과 목록에서 데이터 내보내기 모듈을 실험 캔버스에 추가합니다.
- 모델 점수 매기기 모듈의 출력을 데이터 내보내기 모듈의 입력에 연결합니다.
- 속성 창의 데이터 대상 드롭다운에서 Azure SQL Database를 선택합니다.
- 데이터베이스 서버 이름, 데이터베이스 이름, 서버 사용자 계정 이름 및 서버 사용자 계정 암호 필드에 데이터베이스에 대한 적절한 정보를 입력합니다.
- 쉼표로 구분된 저장할 열 목록 필드에 점수가 매겨진 레이블을 입력합니다.
- 데이터 테이블 이름 필드에 dbo.ScoredLabels를 입력합니다. 이 테이블이 없으면 실험을 실행하거나 웹 서비스를 호출할 때 만들어집니다.
- 데이터 가능 열 필드의 쉼표로 구분된 목록에 ScoredLabels를 입력합니다.
최종 웹 서비스를 호출하는 애플리케이션을 작성할 때 런타임에 다른 입력 쿼리 또는 대상 테이블을 지정할 수 있습니다. 이러한 입력 및 출력을 구성하려면 웹 서비스 매개 변수 기능을 사용하여 데이터 가져오기 모듈 데이터 원본 속성 및 데이터 내보내기 모드 데이터 대상 속성을 설정합니다. 웹 서비스 매개 변수에 대한 자세한 내용은 Cortana Intelligence 및 Machine Learning 블로그의 Machine Learning Studio(클래식) 웹 서비스 매개 변수 항목을 참조하세요.
가져오기 쿼리 및 대상 테이블에 대한 웹 서비스 매개 변수를 구성하려면 다음을 수행합니다.
- 데이터 가져오기 모듈의 속성 창에서 데이터베이스 쿼리 필드의 오른쪽 위에 있는 아이콘을 클릭하고 웹 서비스 매개 변수로 설정을 선택합니다.
- 데이터 내보내기 모듈의 속성 창에서 데이터 테이블 이름 필드의 오른쪽 위에 있는 아이콘을 클릭하고 웹 서비스 매개 변수로 설정을 선택합니다.
- 데이터 내보내기 모듈 속성 창 아래쪽의 웹 서비스 매개 변수 섹션에서 데이터베이스 쿼리를 클릭하고 쿼리 이름을 바꿉니다.
- 데이터 테이블 이름을 클릭하고 이름을 테이블로 바꿉니다.
완료되면 실험은 다음 이미지와 유사하게 표시됩니다.
이제 실험을 웹 서비스로 배포할 수 있습니다.
웹 서비스 배포
클래식 또는 새 웹 서비스에 배포할 수 있습니다.
클래식 웹 서비스 배포
클래식 웹 서비스로 배포하고 사용할 애플리케이션을 만들려면 다음을 수행합니다.
실험 캔버스 맨 아래에서 실행을 클릭합니다.
실행이 완료되면 웹 서비스 배포를 클릭하고 웹 서비스 배포 [클래식]을 선택합니다.
웹 서비스 대시보드에서 API 키를 찾습니다. 나중에 사용할 수 있게 복사한 다음 저장합니다.
기본 엔드포인트 테이블에서 Batch 실행 링크를 클릭하여 API 도움말 페이지를 엽니다.
Visual Studio에서 C# 콘솔 애플리케이션을 만듭니다. 새>프로젝트>Visual C#>Windows 클래식 데스크톱>콘솔 앱(.NET Framework).
API 도움말 페이지에서 페이지 아래쪽에 있는 샘플 코드 섹션을 찾습니다.
C# 샘플 코드를 복사하여 Program.cs 파일에 붙여넣고 Blob Storage에 대한 모든 참조를 제거합니다.
apiKey 변수의 값을 이전에 저장된 API 키로 업데이트합니다.
요청 선언을 찾아 데이터 가져오기 및 데이터 내보내기 모듈에 전달되는 웹 서비스 매개 변수의 값을 업데이트합니다. 이 경우 원래 쿼리를 사용하지만 새 테이블 이름을 정의합니다.
var request = new BatchExecutionRequest() { GlobalParameters = new Dictionary<string, string>() { { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" }, { "Table", "dbo.ScoredTable2" }, } };
애플리케이션을 실행합니다.
실행이 완료되면 새 테이블이 점수 매기기 결과를 포함하는 데이터베이스에 추가됩니다.
새 웹 서비스 배포
참고 항목
새 웹 서비스를 배포하려면 웹 서비스를 배포하는 구독에 충분한 권한이 있어야 합니다. 자세한 내용은 Machine Learning 웹 서비스 포털을 사용하여 웹 서비스 관리를 참조하세요.
새 웹 서비스로 배포하고 이를 사용할 애플리케이션을 만들려면 다음을 수행합니다.
실험 캔버스 아래쪽에서 실행을 클릭합니다.
실행이 완료되면 웹 서비스 배포를 클릭하고 웹 서비스 배포[새로 만들기]를 선택합니다.
실험 배포 페이지에서 웹 서비스의 이름을 입력하고 가격 책정 계획을 선택한 다음 배포를 클릭합니다.
빠른 시작 페이지에서 사용을 클릭합니다.
샘플 코드 섹션에서 Batch를 클릭합니다.
Visual Studio에서 C# 콘솔 애플리케이션을 만듭니다. 새>프로젝트>Visual C#>Windows 클래식 데스크톱>콘솔 앱(.NET Framework).
C# 샘플 코드를 복사하고 Program.cs 파일에 붙여 넣습니다.
기본 사용 정보 섹션에 있는 기본 키를 사용하여 apiKey 변수의 값을 업데이트합니다.
scoreRequest 선언을 찾고 데이터 가져오기 및 데이터 내보내기 모듈에 전달되는 웹 서비스 매개 변수 값을 업데이트합니다. 이 경우 원래 쿼리를 사용하지만 새 테이블 이름을 정의합니다.
var scoreRequest = new { Inputs = new Dictionary<string, StringTable>() { }, GlobalParameters = new Dictionary<string, string>() { { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" }, { "Table", "dbo.ScoredTable3" }, } };
애플리케이션을 실행합니다.