자습서: 디자이너 - 코드 없는 회귀 모델 학습

Azure Machine Learning 디자이너를 사용하여 자동차 가격을 예측하는 선형 회귀 모델을 학습시킵니다. 이 자습서는 2부로 구성된 시리즈 중 제1부입니다.

이 자습서에서는 Azure Machine Learning 디자이너를 사용합니다. 자세한 내용은 Azure Machine Learning 디자이너란?을 참조하세요.

참고 항목

Designer는 미리 빌드된 클래식 구성 요소(v1)와 사용자 지정 구성 요소(v2)라는 두 가지 형식의 구성 요소를 지원합니다. 이 두 가지 형식의 구성 요소는 호환되지 않습니다.

클래식 미리 빌드된 구성 요소는 주로 데이터 처리와 회귀 및 분류와 같은 기존 기계 학습 작업을 위해 미리 빌드된 구성 요소를 제공합니다. 이 형식의 구성 요소는 계속 지원되지만 새 구성 요소가 추가되지는 않습니다.

사용자 지정 구성 요소를 사용하면 고유의 코드를 구성 요소로 래핑할 수 있습니다. 작업 영역 전체에서 구성 요소를 공유하고 Studio, CLI v2 및 SDK v2 인터페이스 전체에서 원활한 작성을 지원합니다.

새 프로젝트의 경우 AzureML V2와 호환되고 계속해서 새로운 업데이트를 받을 수 있는 사용자 지정 구성 요소를 사용하는 것이 좋습니다.

이 문서는 미리 빌드된 클래식 구성 요소에 적용되며 CLI v2 및 SDK v2와 호환되지 않습니다.

이 자습서의 1부에서는 다음 방법에 대해 알아봅니다.

  • 새 파이프라인 만들기.
  • 데이터 가져오기.
  • 데이터 준비
  • 기계 학습 모델 학습
  • 기계 학습 모델 평가

이 자습서의 2부에서는 모델을 실시간 추론 엔드포인트로 배포하여 보내는 기술 사양에 따라 자동차의 가격을 예측합니다.

참고 항목

이 자습서의 전체 버전은 샘플 파이프라인으로 사용할 수 있습니다.

이를 찾으려면 작업 영역의 디자이너로 이동합니다. 새 파이프라인 섹션에서 샘플 1 - 회귀: 자동차 가격 예측(기본)을 선택합니다.

Important

스튜디오 또는 디자이너의 단추와 같이 이 문서에 언급된 그래픽 요소가 보이지 않는 경우 작업 영역에 대한 적절한 사용 권한이 없는 것일 수 있습니다. Azure 구독 관리자에게 문의하여 적절한 액세스 권한이 부여되었는지 확인하세요. 자세한 내용은 사용자 및 역할 관리를 참조하세요.

새 파이프라인 만들기

Azure Machine Learning 파이프라인은 여러 기계 학습 및 데이터 처리 단계를 단일 리소스로 구성합니다. 파이프라인을 사용하면 프로젝트와 사용자 간에 복잡한 기계 학습 워크플로를 구성, 관리 및 재사용할 수 있습니다.

Azure Machine Learning 파이프라인을 만들려면 Azure Machine Learning 작업 영역이 필요합니다. 이 섹션에서는 이러한 두 가지 리소스를 만드는 방법에 대해 알아봅니다.

새 작업 영역 만들기

디자이너를 사용하려면 Azure Machine Learning 작업 영역이 필요합니다. 작업 영역은 Azure Machine Learning의 최상위 리소스로, Azure Machine Learning에서 만든 모든 아티팩트를 사용할 수 있는 중앙 집중식 환경을 제공합니다. 작업 영역 만들기에 대한 지침은 작업 영역 리소스 만들기를 참조하세요.

참고 항목

작업 영역에서 가상 네트워크를 사용하는 경우 디자이너를 사용하기 위해 사용해야 하는 추가 구성 단계가 있습니다. 자세한 내용은 Azure 가상 네트워크에서 Azure Machine Learning Studio 사용을 참조하세요.

파이프라인 만들기

참고 항목

디자이너는 두 가지 형식의 구성 요소인 클래식 미리 빌드된 구성 요소 및 사용자 지정 구성 요소를 지원합니다. 이 두 가지 형식의 구성 요소는 호환되지 않습니다.

클래식 미리 빌드된 구성 요소는 주로 데이터 처리와 회귀 및 분류와 같은 기존 기계 학습 작업을 위해 미리 빌드된 구성 요소를 제공합니다. 이 형식의 구성 요소는 계속 지원되지만 새 구성 요소가 추가되지는 않습니다.

사용자 지정 구성 요소를 사용하면 고유의 코드를 구성 요소로 제공할 수 있습니다. 작업 영역에서 공유를 지원하고 Studio, CLI 및 SDK 인터페이스에서 원활한 작성을 지원합니다.

이 문서는 미리 빌드된 클래식 구성 요소에 적용됩니다.

  1. ml.azure.com에 로그인하고, 사용하려는 작업 영역을 선택합니다.

  2. 디자이너 ->클래식 미리 빌드를 선택합니다.

    Screenshot of the visual workspace showing how to access the designer.

  3. 클래식 미리 빌드된 구성 요소를 사용하여 새 파이프라인 만들기를 선택합니다.

  4. 자동으로 생성된 파이프라인 초안 이름 옆에 있는 연필 아이콘을 클릭하고 이름을 자동차 가격 예측으로 바꿉니다. 이름은 고유할 필요가 없습니다.

Screenshot of pencil icon to change pipeline draft name.

데이터 가져오기

디자이너에는 실험에 사용할 몇 가지 샘플 데이터 세트가 포함되어 있습니다. 이 자습서에서는 자동차 가격 데이터(원시)를 사용합니다.

  1. 파이프라인 캔버스의 왼쪽에는 데이터 세트와 구성 요소로 구성된 팔레트가 있습니다. 구성 요소 ->샘플 데이터를 선택합니다.

  2. 자동차 가격 데이터(원시) 데이터 세트를 선택하여 캔버스로 끕니다.

    Gif of dragging the Automobile price data to the canvas.

데이터 시각화

사용할 데이터 세트를 파악하기 위해 데이터를 시각화할 수 있습니다.

  1. 자동차 가격 데이터(원시)를 마우스 오른쪽 단추로 클릭하고 데이터 미리 보기를 선택합니다.

  2. 데이터 창에서 다른 열을 선택하여 각 열에 대한 정보를 확인합니다.

    각 행은 자동차를 나타내며, 각 자동차와 연결된 변수는 열로 표시됩니다. 이 데이터 세트에는 205개 행과 26개 열이 있습니다.

데이터 준비

데이터 세트는 일반적으로 분석하기 전에 일부 전처리가 필요 합니다. 데이터 세트를 검사할 때 일부 누락된 값이 있을 수 있습니다. 모델에서 데이터를 올바르게 분석할 수 있도록 이러한 누락된 값을 정리해야 합니다.

열 제거

모델이 학습되는 경우 누락된 데이터에 대한 작업을 수행해야 합니다. 이 데이터 세트의 normalized-losses(정규화된 손실) 열에는 값이 많이 없으므로 모델에서 해당 열을 모두 제외합니다.

  1. 캔버스 왼쪽의 데이터 세트 및 구성 요소 팔레트에서 구성 요소를 클릭하고 데이터 세트에서 열 선택 구성 요소를 검색합니다.

  2. 데이터 세트에서 열 선택 구성 요소를 캔버스로 끕니다. 구성 요소를 데이터 세트 구성 요소 아래로 끌어옵니다.

  3. 자동차 가격 데이터(원시) 데이터 세트를 데이터 세트에서 열 선택 구성 요소에 연결합니다. 데이터 세트의 출력 포트(캔버스의 데이터 세트 아래쪽에 있는 작은 원)에서 데이터 세트에서 열 선택의 입력 포트(구성 요소 위쪽에 있는 작은 원)로 끌어서 놓습니다.

    한 모듈의 출력 포트를 다른 구성 요소의 입력 포트에 연결할 때 파이프라인을 통해 데이터 흐름을 만듭니다.

    Screenshot of connecting Automobile price data component to select columns in dataset component.

  4. 데이터 세트에서 열 선택 구성 요소를 선택합니다.

  5. 캔버스 오른쪽의 설정 아래에서 화살표 아이콘을 클릭하여 구성 요소 세부 정보 창을 엽니다. 또는 데이터 세트에서 열 선택 구성 요소를 두 번 클릭하여 세부 정보 창을 열 수 있습니다.

  6. 창 오른쪽에 있는 열 편집을 선택합니다.

  7. 포함 옆에 있는 열 이름 드롭다운을 펼치고 모든 열을 선택합니다.

  8. +를 선택하여 새 규칙을 추가합니다.

  9. 드롭다운 메뉴에서 제외열 이름을 선택합니다.

  10. 텍스트 상자에 normalized-losses를 입력합니다.

  11. 오른쪽 아래에서 저장을 선택하여 열 선택기를 닫습니다.

    Screenshot of select columns with exclude highlighted.

  12. 데이터 세트에서 열 선택 구성 요소 세부 정보 창에서 노드 정보를 확장합니다.

  13. 주석 텍스트 상자를 선택하고 정규화된 손실 제외를 입력합니다.

    파이프라인을 구성하는 데 도움이 되는 주석이 그래프에 표시됩니다.

누락 데이터 정리

normalized-losses 열을 제거한 후에도 누락된 값이 데이터 세트에 여전히 있습니다. 누락된 데이터 정리 구성 요소를 사용하여 남아 있는 누락된 데이터를 제거할 수 있습니다.

대부분의 구성 요소를 디자이너에서 사용하려면 입력 데이터에서 누락된 값을 반드시 정리해야 합니다.

  1. 캔버스 왼쪽의 데이터 세트 및 구성 요소 팔레트에서 구성 요소를 클릭하고 누락 데이터 정리 구성 요소를 검색합니다.

  2. 누락된 데이터 정리 구성 요소를 파이프라인 캔버스로 끌어서 놓습니다. 데이터 세트에서 열 선택 구성 요소에 연결합니다.

  3. 누락 데이터 정리 구성 요소를 선택합니다.

  4. 캔버스 오른쪽의 설정 아래에서 화살표 아이콘을 클릭하여 구성 요소 세부 정보 창을 엽니다. 또는 누락 데이터 정리 구성 요소를 두 번 클릭하여 세부 정보 창을 열 수 있습니다.

  5. 창 오른쪽에 있는 열 편집을 선택합니다.

  6. 표시되는 정리할 열 창에서 포함 옆에 있는 드롭다운 메뉴를 확장합니다. 모든 열을 선택합니다.

  7. 저장을 선택합니다.

  8. 누락 데이터 정리 구성 요소 세부 정보 창의 정리 모드에서 전체 행 제거를 선택합니다.

  9. 누락 데이터 정리 구성 요소 세부 정보 창에서 노드 정보를 확장합니다.

  10. 주석 텍스트 상자를 선택하고 누락 값 행 제거를 입력합니다.

    파이프라인이 이제 다음과 같이 표시됩니다.

    Screenshot of automobile price data connected to select columns in dataset component, which is connected to clean missing data.

기계 학습 모델 학습

이제 데이터를 처리하기 위한 구성 요소가 준비되었으므로 학습 구성 요소를 설정할 수 있습니다.

숫자인 가격을 예측하려고 하므로 회귀 알고리즘을 사용할 수 있습니다. 이 예제에서는 선형 회귀 모델을 사용합니다.

데이터 분할

데이터 분할은 기계 학습에서 일반적인 작업입니다. 데이터를 두 개의 개별 데이터 세트로 분할합니다. 한 데이터 세트는 모델을 학습하고 다른 데이터 세트는 모델이 얼마나 잘 수행되는지 테스트합니다.

  1. 캔버스 왼쪽의 데이터 세트 및 구성 요소 팔레트에서 구성 요소를 클릭하고 데이터 분할 구성 요소를 검색합니다.

  2. 데이터 분할 구성 요소를 파이프라인 캔버스로 끌어서 놓습니다.

  3. 누락된 데이터 정리 구성 요소의 왼쪽 포트를 데이터 분할 구성 요소에 연결합니다.

    Important

    누락 데이터 정리의 왼쪽 출력 포트가 데이터 분할에 연결되어 있는지 확인합니다. 왼쪽 포트는 정리된 데이터를 포함합니다. 오른쪽 포트는 분리된 데이터를 포함합니다.

  4. 데이터 분할 구성 요소를 선택합니다.

  5. 캔버스 오른쪽의 설정 아래에서 화살표 아이콘을 클릭하여 구성 요소 세부 정보 창을 엽니다. 또는 데이터 분할 구성 요소를 두 번 클릭하여 세부 정보 창을 열 수 있습니다.

  6. 데이터 분할 세부 정보 창에서 첫 번째 출력 데이터 세트의 행 비율을 0.7로 설정합니다.

    그러면 모델의 학습을 위해 데이터의 70%를 분할하고, 테스트를 위해 30%를 분할합니다. 70% 데이터 세트는 왼쪽 출력 포트를 통해 액세스할 수 있습니다. 나머지 데이터는 오른쪽 출력 포트를 통해 사용할 수 있습니다.

  7. 데이터 분할 세부 정보 창에서 노드 정보를 확장합니다.

  8. 주석 텍스트 상자를 선택하고 데이터 세트를 학습 세트(0.7) 및 테스트 세트(0.3)로 분할을 입력합니다.

모델 학습

가격이 포함된 데이터 세트를 제공하여 모델을 학습합니다. 알고리즘은 학습 데이터에 표시된 대로 기능과 가격 간의 관계를 설명하는 모델을 생성합니다.

  1. 캔버스 왼쪽의 데이터 세트 및 구성 요소 팔레트에서 구성 요소를 클릭하고 선형 회귀 구성 요소를 검색합니다.

  2. 선형 회귀 구성 요소를 파이프라인 캔버스로 끕니다.

  3. 캔버스 왼쪽의 데이터 세트 및 구성 요소 팔레트에서 구성 요소를 클릭하고 모델 학습 구성 요소를 검색합니다.

  4. 모델 학습 구성 요소를 파이프라인 캔버스로 끕니다.

  5. 선형 회귀 구성 요소의 출력을 모델 학습 구성 요소의 왼쪽 입력에 연결합니다.

  6. 데이터 분할 구성 요소의 학습 데이터 출력(왼쪽 포트)을 모델 학습 구성 요소의 오른쪽 입력에 연결합니다.

    Important

    데이터 분할의 왼쪽 출력 포트가 모델 학습에 연결되어 있는지 확인합니다. 왼쪽 포트는 학습 집합을 포함합니다. 오른쪽 포트는 테스트 집합을 포함합니다.

    Screenshot showing the Linear Regression connects to left port of Train Model and the Split Data connects to right port of Train Model.

  7. 모델 학습 구성 요소를 선택합니다.

  8. 캔버스 오른쪽의 설정 아래에서 화살표 아이콘을 클릭하여 구성 요소 세부 정보 창을 엽니다. 또는 모델 학습 구성 요소를 두 번 클릭하여 세부 정보 창을 열 수 있습니다.

  9. 창 오른쪽에 있는 열 편집을 선택합니다.

  10. 표시되는 레이블 열 창에서 드롭다운 메뉴를 확장하고 열 이름을 선택합니다.

  11. 텍스트 상자에 가격을 입력하여 모델이 예측할 값을 지정합니다.

    Important

    열 이름을 정확하게 입력해야 합니다. 가격을 대문자로 하지 마세요.

    파이프라인은 다음과 같습니다.

    Screenshot showing the correct configuration of the pipeline after adding the Train Model component.

모델 점수 매기기 구성 요소 추가

데이터의 70%를 사용하여 모델을 학습시킨 후 모델의 작동 방식을 확인하기 위해 나머지 30%의 점수를 매기는 데 이를 사용할 수 있습니다.

  1. 캔버스 왼쪽의 데이터 세트 및 구성 요소 팔레트에서 구성 요소를 클릭하고 모델 채점 구성 요소를 검색합니다.

  2. 모델 채점 구성 요소를 파이프라인 캔버스로 끕니다.

  3. 모델 학습 구성 요소의 출력을 모델 점수 매기기의 왼쪽 입력 포트에 연결합니다. 데이터 분할 구성 요소의 테스트 데이터 출력(오른쪽 포트)을 모델 점수 매기기의 오른쪽 입력 포트에 연결합니다.

모델 평가 구성 요소 추가

모델 평가 구성 요소를 사용하여 모델이 테스트 데이터 세트의 점수를 얼마나 잘 얻었는지 평가합니다.

  1. 캔버스 왼쪽의 데이터 세트 및 구성 요소 팔레트에서 구성 요소를 클릭하고 모델 평가 구성 요소를 검색합니다.

  2. 모델 평가 구성 요소를 파이프라인 캔버스로 끕니다.

  3. 모델 점수 매기기 구성 요소의 출력을 모델 평가의 왼쪽 입력에 연결합니다.

    최종 파이프라인은 다음과 같습니다.

    Screenshot showing the correct configuration of the pipeline.

파이프라인 제출

  1. 오른쪽 상단에서 구성 및 제출을 선택하여 파이프라인을 제출합니다.

    Screenshot showing configure and submit button.

  2. 그런 다음 단계별 마법사가 표시되고 마법사에 따라 파이프라인 작업을 제출합니다.

    Screenshot showing submission wizard.

기본 사항 단계에서는 실험, 작업 표시 이름, 작업 설명 등을 구성할 수 있습니다.

입력 및 출력 단계에서는 파이프라인 수준으로 승격되는 입력/출력에 값을 할당할 수 있습니다. 이 예에서는 입력/출력을 파이프라인 수준으로 승격하지 않았으므로 비어 있습니다.

런타임 설정에서 기본 데이터 저장소와 파이프라인에 대한 기본 컴퓨팅을 구성할 수 있습니다. 이는 파이프라인의 모든 구성 요소에 대한 기본 데이터 저장소/컴퓨팅입니다. 그러나 구성 요소에 대해 다른 컴퓨팅 또는 데이터 저장소를 명시적으로 설정하면 시스템은 구성 요소 수준 설정을 따릅니다. 그렇지 않으면 기본값을 사용합니다.

검토 + 제출 단계는 제출하기 전에 모든 설정을 검토하는 마지막 단계입니다. 파이프라인을 제출하면 마법사는 마지막 구성을 기억합니다.

파이프라인 작업을 제출하면 작업 세부 정보에 대한 링크가 포함된 메시지가 상단에 표시됩니다. 이 링크를 선택하여 작업 세부 정보를 검토할 수 있습니다.

Screenshot showing submission message.

채점된 레이블 보기

작업 세부 정보 페이지에서 파이프라인 작업 상태, 결과 및 로그를 확인할 수 있습니다.

Screenshot showing the pipeline job detail page.

작업이 완료되면 파이프라인 작업의 결과를 볼 수 있습니다. 먼저 회귀 모델에 의해 생성된 예측을 살펴봅니다.

  1. 모델 점수 매기기 구성 요소를 마우스 오른쪽 단추로 클릭하고 미리 보기 데이터>점수가 매겨진 데이터 세트를 선택하여 출력을 봅니다.

    여기서는 테스트 데이터에서 예측된 가격과 실제 가격을 확인할 수 있습니다.

    Screenshot of the output visualization highlighting the Scored Label column.

모델 평가

모델 평가를 사용하여 테스트 데이터 세트에서 학습된 모델이 얼마나 잘 수행되었는지 확인합니다.

  1. 모델 평가 구성 요소를 마우스 오른쪽 단추로 클릭하고 미리 보기 데이터>평가 결과를 선택하여 출력을 확인합니다.

모델에 대한 다음 통계가 표시됩니다.

  • MAE(평균 절대 오차): 절대 오차의 평균입니다. 오차는 예측 값과 실제 값 사이의 차이입니다.
  • RMSE(제곱 평균 오차): 테스트 데이터 세트에 대해 예측한 평균 제곱 오차의 제곱근입니다.
  • Relative Absolute Error: 실제 값과 모든 실제 값 평균 사이의 절대값 차에 대해 상대적인 절대 오차의 평균입니다.
  • Relative Squared Error: 실제 값과 모든 실제 값 평균 사이의 제곱 차에 대해 상대적인 평균 제곱 오차입니다.
  • 결정 계수: R 제곱 값이라고도 하며, 모델이 데이터에 얼마나 적합한지 나타내는 통계 메트릭입니다.

각 오차 통계는 작을수록 좋습니다. 값이 작을수록 예측이 실제 값에 더 가깝다는 것을 나타냅니다. 결정 계수의 경우 값이 1(1.0)에 가까울수록 더 나은 예측입니다.

리소스 정리

자습서의 2 부에서모델 배포를 계속 진행하려면 이 섹션을 건너뜁니다.

Important

만든 리소스를 다른 Azure Machine Learning 자습서 및 사용 방법 문서의 필수 구성 요소로 사용할 수 있습니다.

모든 항목 삭제

사용자가 만든 항목을 사용하지 않으려면 요금이 발생하지 않도록 전체 리소스 그룹을 삭제하세요.

  1. Azure Portal의 창 왼쪽에서 리소스 그룹을 선택합니다.

    Delete resource group in the Azure portal

  2. 목록에서 만든 리소스 그룹을 선택합니다.

  3. 리소스 그룹 삭제를 선택합니다.

리소스 그룹을 삭제하면 디자이너에서 만든 모든 리소스도 삭제됩니다.

개별 자산 삭제

실험을 만든 디자이너에서 개별 자산을 선택한 다음, 삭제 단추를 선택하여 자산을 삭제합니다.

여기에서 만든 컴퓨팅 대상은 사용하지 않을 경우 제로 노드로 자동으로 크기 조정됩니다. 이 작업은 요금을 최소화하기 위해 수행됩니다. 컴퓨팅 대상을 삭제하려는 경우 다음 단계를 수행합니다.

Delete assets

각 데이터 세트를 선택하고 등록 취소를 선택하여 작업 영역에서 데이터 세트를 등록 취소할 수 있습니다.

Unregister dataset

데이터 세트를 삭제하려면 Azure Portal 또는 Azure Storage Explorer를 사용하여 스토리지 계정으로 이동하여 해당 자산을 수동으로 삭제합니다.

다음 단계

2부에서는 모델을 실시간 엔드포인트로 배포하는 방법에 대해 알아봅니다.