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

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

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

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

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

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

참고

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

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

중요

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

새 파이프라인 만들기

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

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

새 작업 영역 만들기

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

참고

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

파이프라인 만들기

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

  2. 디자이너를 선택합니다.

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

  3. 사용하기 쉬운 사전 제작 구성 요소를 선택합니다.

  4. 캔버스 위쪽에서 기본 파이프라인 이름인 Pipeline-Created-on을 선택합니다. 이름을 자동차 가격 예측으로 바꿉니다. 이름은 고유할 필요가 없습니다.

기본 컴퓨팅 대상 설정

작업 영역에 연결된 컴퓨팅 리소스인 컴퓨팅 대상에서 파이트라인이 실행됩니다. 컴퓨팅 대상을 만든 후 이후 실행에 다시 사용할 수 있습니다.

중요

연결된 컴퓨팅은 지원되지 않습니다. 대신 컴퓨팅 인스턴스 또는 클러스터를 사용합니다.

전체 파이프라인에 대해 기본 컴퓨팅 대상을 설정하면, 기본적으로 모든 구성 요소가 동일한 컴퓨팅 대상을 사용하도록 지시합니다. 하지만 모듈별로 컴퓨팅 대상을 지정할 수 있습니다.

  1. 파이프라인 이름 옆 캔버스 상단의 기어 아이콘Screenshot of the gear icon that is in the UI.을 선택하여 설정 창을 엽니다.

  2. 캔버스 오른쪽에 있는 설정 창에서 컴퓨팅 대상 선택을 선택합니다.

    사용 가능한 컴퓨팅 대상이 이미 있는 경우 파이프라인을 실행하도록 선택할 수 있습니다.

  3. 컴퓨팅 리소스의 이름을 입력합니다.

  4. 저장을 선택합니다.

    참고

    컴퓨팅 리소스를 만드는 데 약 5분이 걸립니다. 리소스가 만들어지면 다시 사용할 수 있으며 이후 실행에는 이 대기 시간을 건너뛸 수 있습니다.

    컴퓨팅 리소스는 비용을 절감하기 위해 유휴 상태일 때 0개 노드로 자동 크기 조정됩니다. 지연 후 다시 사용할 경우 백업 크기를 조정하는 동안 약 5분의 대기 시간이 발생할 수 있습니다.

데이터 가져오기

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

  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. 텍스트 상자에 normalized-losses를 입력합니다.

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

    Screenshot of select columns with exclude highlighted.

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

  12. 캔버스 오른쪽의 구성 요소 세부 정보 창에서 주석 텍스트 상자를 선택하고 정규화된 손실 제외(Exclude normalized losses)를 입력합니다.

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

누락 데이터 정리

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

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

  1. 캔버스 왼쪽의 구성 요소 팔레트에서 데이터 변환 섹션을 펼치고 누락 데이터 정리 구성 요소를 찾습니다.

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

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

  4. 캔버스의 오른쪽에 있는 구성 요소 세부 정보 창에서 열 편집을 선택합니다.

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

  6. 저장을 선택합니다.

  7. 캔버스의 오른쪽에 있는 구성 요소 세부 정보 창의 정리 모드에서 전체 행 제거 선택합니다.

  8. 캔버스 오른쪽의 구성 요소 세부 정보 창에서 주석 상자를 선택하고 누락된 값 행 제거(Remove missing value rows)를 입력합니다.

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

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

기계 학습 모델 학습

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

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

데이터 분할

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

  1. 구성 요소 팔레트에서 데이터 변환 섹션을 펼치고 데이터 분할 구성 요소를 찾습니다.

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

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

    중요

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

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

  5. 캔버스 오른쪽의 구성 요소 세부 정보 창에서 첫 번째 출력 데이터 세트의 행 비율을 0.7로 설정합니다.

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

  6. 캔버스 오른쪽의 구성 요소 세부 정보 창에서 주석 상자를 선택하고 데이터 세트를 학습 세트(0.7) 및 테스트 세트(0.3)로 분할(Split the dataset into training set (0.7) and test set (0.3) )을 입력합니다.

모델 학습

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

  1. 구성 요소 팔레트에서 Machine Learning 알고리즘을 펼칩니다.

    이 옵션은 학습 알고리즘을 초기화하는 데 사용할 수 있는 몇 가지 범주의 구성 요소를 표시합니다.

  2. 회귀>선형 회귀를 선택하여 파이프라인 캔버스로 끌어서 놓습니다.

  3. 구성 요소 팔레트에서 모듈 학습 섹션을 펼치고 모델 학습 구성 요소를 캔버스로 끌어서 놓습니다.

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

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

    중요

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

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

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

  7. 캔버스의 오른쪽에 있는 구성 요소 세부 정보 창에서 열 편집 선택기를 선택합니다.

  8. 레이블 열 대화 상자에서 드롭다운 메뉴를 확장하고, 열 이름을 선택합니다.

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

    중요

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

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

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

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

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

  1. 검색 상자에 모델 점수 매기기를 입력하여 모델 점수 매기기 구성 요소를 찾습니다. 구성 요소를 파이프라인 캔버스로 끕니다.

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

모델 평가 구성 요소 추가

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

  1. 검색 상자에 평가를 입력하여 모델 평가 구성 요소를 찾습니다. 구성 요소를 파이프라인 캔버스로 끕니다.

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

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

    Screenshot showing the correct configuration of the pipeline.

파이프라인 제출

파이프라인이 모두 설정되었으므로 파이프라인 실행을 제출 제출하여 기계 학습 모델을 학습시킬 수 있습니다. 개발 중에 파이프라인에 대한 변경 내용을 검토하는 데 사용할 수 있는 임의의 지점에서 유효한 파이프라인 실행을 제출할 수 있습니다.

  1. 캔버스 위쪽에서 제출을 선택합니다.

  2. 파이프라인 작업 설정 대화 상자에서 새로 만들기를 선택합니다.

    참고

    실험 그룹은 유사한 파이프라인을 함께 실행합니다. 파이프라인을 여러 번 실행하는 경우 연속 실행에 대해 동일한 실험을 선택할 수 있습니다.

    1. 새 실험 이름Tutorial-CarPrices를 입력합니다.

    2. 제출을 선택합니다.

    3. 캔버스의 왼쪽 창에 제출 목록이 표시되고 페이지의 오른쪽 위 모서리에 알림이 나타납니다. 작업 세부 정보 링크를 선택하여 디버깅을 위한 작업 세부 정보 페이지로 이동합니다.

      Screenshot of the submitted jobs list with a success notification.

    첫 번째 실행인 경우 파이프라인이 실행을 완료하는 데 최대 20분이 걸릴 수 있습니다. 기본 컴퓨팅 설정의 최소 노드 크기는 0입니다. 즉, 디자이너가 유휴 상태가 된 후에 리소스를 할당해야 합니다. 컴퓨팅 리소스가 이미 할당되었기 때문에 반복되는 파이프라인 실행은 시간이 덜 걸립니다. 또한 디자이너는 각 구성 요소에 대해 캐시된 결과를 사용하여 효율성을 더욱 향상시킵니다.

채점된 레이블 보기

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

Screenshot showing the pipeline job detail page.

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

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

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

    Screenshot of the output visualization highlighting the Scored Label column.

모델 평가

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

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

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

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

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

리소스 정리

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

중요

직접 만든 리소스는 다른 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부에서는 모델을 실시간 엔드포인트로 배포하는 방법에 대해 알아봅니다.