모델 교차 유효성 검사

중요

Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.

2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.

ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.

데이터를 분할하여 분류 또는 회귀 모델에 대한 매개 변수 예측의 교차 유효성을 검사합니다.

범주: Machine Learning/평가

참고

적용 대상: Machine Learning Studio(클래식) 전용

유사한 끌어서 놓기 모듈은 Azure Machine Learning 디자이너에서 사용할 수 있습니다.

모듈 개요

이 문서에서는 Machine Learning Studio(클래식)에서 모델 교차 유효성 검사 모듈을 사용하는 방법을 설명합니다. 교차 유효성 검사는 데이터 세트의 가변성과 해당 데이터를 사용하여 학습된 모델의 안정성을 평가하기 위해 기계 학습에 자주 사용되는 중요한 기술입니다.

모델 교차 유효성 검사 모듈은 학습되지 않은 분류 또는 회귀 모델과 함께 레이블이 지정된 데이터 세트를 입력으로 사용합니다. 데이터 집합을 일부 하위 집합(폴드)으로 나누고 각 폴드에서 모델을 빌드한 다음 각 폴드의 정확도 통계 집합을 반환합니다. 모든 접기의 정확도 통계를 비교하여 데이터 집합의 품질을 해석하고 모델이 데이터 변형에 취약한지 여부를 이해할 수 있습니다.

또한 교차 유효성 검사는 예측의 안정성을 평가할 수 있도록 데이터 세트에 대해 예측된 결과와 확률을 반환합니다.

교차 유효성 검사의 작동 방식

  1. 교차 유효성 검사는 임의로 학습 데이터를 접기라고도 하는 여러 파티션으로 나눕 니다.

    • 이전에 데이터 집합을 분할하지 않은 경우 이 알고리즘은 기본적으로 10개의 접기가 됩니다.
    • 데이터 집합을 여러 폴드로 나누려면 파티션 및 샘플 모듈을 사용하며, 사용할 폴드 수를 표시할 수 있습니다.
  2. 모듈은 유효성 검사에 사용할 데이터를 fold 1로 따로 설정하고(홀 드아웃 폴드라고도 함) 나머지 접기를 사용하여 모델을 학습시킵니다.

    예를 들어 5개의 접기를 만드는 경우 모듈은 교차 유효성 검사 중에 5개의 모델을 생성하며, 각 모델은 데이터의 4/5를 사용하여 학습되고 나머지 1/5에서 테스트됩니다.

  3. 각 접기에 대한 모델을 테스트하는 동안 여러 정확도 통계가 평가됩니다. 사용되는 통계는 평가하는 모델의 유형에 따라 달라집니다. 분류 모델과 회귀 모델을 평가하는 데 다른 통계가 사용됩니다.

  4. 모든 접기에서 빌드 및 평가 프로세스가 완료되면 모델 교차 유효성 검사는 모든 데이터에 대한 성능 메트릭 및 점수 매기기 결과 집합을 생성합니다. 이러한 메트릭을 검토하여 단일 접기의 정확도가 특히 높거나 낮은지 확인해야 합니다.

교차 유효성 검사의 이점

모델을 평가하는 다른 매우 일반적인 방법은 데이터 분할을 사용하여 데이터를 학습 및 테스트 집합으로 나눈 다음 학습 데이터에서 모델의 유효성을 검사하는 것입니다. 그러나 교차 유효성 검사는 다음과 같은 몇 가지 이점을 제공합니다.

  • 교차 유효성 검사에서는 더 많은 테스트 데이터를 사용합니다.

    교차 유효성 검사는 더 큰 데이터 공간에서 지정된 매개 변수를 사용하여 모델의 성능을 측정합니다. 즉, 교차 유효성 검사는 일부 대신 학습 및 평가에 전체 학습 데이터 세트를 사용합니다. 반대로 임의 분할에서 생성된 데이터를 사용하여 모델의 유효성을 검사하는 경우, 일반적으로 사용 가능한 데이터의 30% 미만에 대해서만 모델을 평가합니다.

    그러나 교차 유효성 검사는 더 큰 데이터 세트에서 모델을 여러 번 학습하고 유효성을 검사하기 때문에 계산 집약적이고 임의 분할의 유효성 검사보다 훨씬 오래 걸립니다.

  • 교차 유효성 검사는 모델뿐만 아니라 데이터 세트를 평가합니다.

    교차 유효성 검사는 단순히 모델의 정확도를 측정하는 것이 아니라 데이터 세트가 얼마나 대표적인지, 그리고 모델이 데이터의 변형에 얼마나 민감할 수 있는지에 대한 몇 가지 아이디어를 제공합니다.

교차 유효성 검사 모델을 사용하는 방법

교차 유효성 검사를 사용하는 두 가지 주요 방법이 있습니다.

많은 데이터를 사용하는 경우 교차 유효성 검사를 실행하는 데 시간이 오래 걸릴 수 있습니다. 따라서 모델을 빌드하고 테스트하는 초기 단계에서 모델 교차 유효성 검사를 사용하여 모델 매개 변수의 양호성을 평가한 다음(계산 시간이 허용 가능하다고 가정) 모델 학습 및 모델 평가 모듈에서 설정된 매개 변수를 사용하여 모델을 학습 및 평가할 수 있습니다.

간단한 교차 유효성 검사

이 시나리오에서는 교차 유효성 검사 모델을 사용하여 모델을 학습시키고 테스트합니다.

  1. 실험에 모델 교차 유효성 검사 모듈을 추가합니다. Machine Learning Studio(클래식)의 Machine Learning 범주에서 평가에서 찾을 수 있습니다.

  2. 분류 또는 회귀 모델의 출력을 커넥트.

    예를 들어 분류를 위해 Two Class Bayes Point Machine 을 사용하는 경우 원하는 매개 변수로 모델을 구성한 다음 분류자의 학습되지 않은 모델 포트에서 일치하는 교차 유효성 검사 모델의 포트로 커넥터를 끕니다.

    교차 유효성 검사 모델은 평가의 일부로 모델을 자동으로 학습하므로 모델을 학습시킬 필요가 없습니다.

  3. 교차 유효성 검사 모델의데이터 세트 포트에서 레이블이 지정된 학습 데이터 세트를 연결합니다.

  4. 교차 유효성 검사 모델의속성 창에서 열 선택기 시작을 클릭하고 클래스 레이블이 포함된 단일 열 또는 예측 가능한 값을 선택합니다.

  5. 동일한 데이터에서 연속 실행에서 교차 유효성 검사 결과를 반복하려면 임의 시드 매개 변수의 값을 설정합니다.

  6. 실험을 실행합니다.

  7. 보고서에 대한 설명은 결과 섹션을 참조하세요.

    나중에 다시 사용할 모델의 복사본을 얻으려면 알고리즘이 포함된 모듈의 출력(예: Two Class Bayes Point Machine)을 마우스 오른쪽 단추 로 클릭하고 학습된 모델로 저장을 클릭합니다.

매개 변수 스윕을 사용하여 교차 유효성 검사

이 시나리오에서는 모델 하이퍼 매개 변수 조정 을 사용하여 매개 변수 스윕을 수행하여 최상의 모델을 식별한 다음 교차 유효성 검사 모델을 사용하여 안정성을 확인합니다. Machine Learning 가장 적합한 모델을 식별한 다음 이에 대한 메트릭을 생성하는 가장 쉬운 방법입니다.

  1. 모델 학습을 위한 데이터 세트를 추가하고 분류 또는 회귀 모델을 만드는 기계 학습 모듈 중 하나를 추가합니다.

  2. 모델 하이퍼 매개 변수 조정 모듈을 실험에 추가합니다. Machine Learning 범주의 학습에서 찾을 수 있습니다.

  3. 분류 또는 회귀 모델을 튜닝 모델 하이퍼 매개 변수학습되지 않은 모델 입력에 연결합니다.

  4. 실험에 모델 교차 유효성 검사 모듈을 추가합니다. Machine Learning Studio(클래식)의 Machine Learning 범주에서 평가에서 찾을 수 있습니다.

  5. 모델 튜닝 하이퍼 매개 변수학습된 최적 모델 출력을 찾아 교차 유효성 검사 모델의학습되지 않은 모델 입력에 연결합니다.

  6. 교차 유효성 검사 모델의학습 데이터 세트 입력에 학습 데이터를 커넥트.

  7. 실험을 실행합니다.

  8. 결과 및 평가 점수를 검토한 후 나중에 다시 사용하기에 가장 적합한 모델의 복사본을 가져오려면 모델 하이퍼 매개 변수 조정 모듈을 마우스 오른쪽 단추로 클릭하고 학습된 최상의 모델을 선택한 다음 학습된 모델로 저장을 클릭합니다.

참고

선택적 유효성 검사 데이터 세트에 모델 하이퍼 매개 변수 조정 모듈의 입력을 사용하는 경우 다른 결과를 얻을 수 있습니다.

이 옵션을 사용하면 실제로 정적 학습 데이터 세트를 지정하고 데이터 세트를 테스트하기 때문입니다. 따라서 교차 유효성 검사 프로세스는 학습 및 테스트를 위해 데이터를 n 그룹으로 분할하는 대신 지정된 학습 및 테스트 데이터 세트를 사용합니다. 그러나 메트릭은 n 배 단위로 생성됩니다.

결과

모든 반복이 완료되면 모델 교차 유효성 검사에서 모델의 품질을 평가하는 데 사용할 수 있는 성능 메트릭뿐만 아니라 전체 데이터 세트에 대한 점수를 만듭니다.

점수가 매겨진 결과

모듈의 첫 출력은 각 행에 대한 원본 데이터와 함께 예측된 값 및 관련 확률을 제공합니다.

이러한 결과를 보려면 실험에서 모델 교차 유효성 검사 모듈을 마우스 오른쪽 단추로 클릭하고 채점된 결과를 선택한 다음 시각화를 클릭합니다.

새 열 이름 설명
할당 접기 교차 유효성 검사 중에 할당된 각 데이터 행 접기의 0 기반 인덱스입니다.
점수가 매겨진 레이블 이 열은 데이터 세트의 끝에 추가되며 각 행에 대해 예측된 값을 포함합니다.
채점된 확률 이 열은 데이터 세트의 끝에 추가되며 점수가 매칭된 레이블 값의 예상 확률을 나타냅니다.

평가 결과

두 번째 보고서는 폴드 별로 그룹화됩니다. 실행 중에 모델 교차 유효성 검사는 학습 데이터를 n 접기로 임의로 분할합니다(기본적으로 10). 데이터 세트에 대한 각 반복에서 교차 유효성 검사 모델은 유효성 검사 데이터 세트로 한 접기를 사용하고 나머지 n-1 접기를 사용하여 모델을 학습시킵니다. 각 n 모델은 다른 모든 폴드의 데이터로 테스트됩니다.

이 보고서에서 폴드는 인덱스 값으로 오름차순으로 나열됩니다. 다른 열에서 순서를 지정하려면 결과를 데이터 세트로 저장할 수 있습니다.

이러한 결과를 보려면 실험에서 모델 교차 유효성 검사 모듈을 마우스 오른쪽 단추로 클릭하고 접어서 평가 결과를 선택한 다음 시각화를 클릭합니다.

열 이름 설명
폴드 번호 각 폴드 식별자입니다. 5개의 접기를 만든 경우 0~4로 번호가 매겨진 5개의 데이터 하위 집합이 있습니다.
폴드의 예제 수 각 폴드에 할당된 행 수입니다. 거의 같아야 합니다.
모델 모델에 사용되는 알고리즘으로, API 이름으로 식별됩니다.

또한 평가 중인 모델의 유형에 따라 각 접기마다 다음 메트릭이 포함됩니다.

  • 분류 모델: 정밀도, 재현율, F 점수, AUC, 평균 로그 손실, 학습 로그 손실

  • 회귀 모델: 음수 로그 가능성, 절대 오차 평균, 제곱 평균 오차, 상대 절대 오차 및 결정 계수

기계 학습에서 교차 유효성 검사가 사용되는 방법의 예는 Azure AI 갤러리를 참조하세요.

기술 정보

  • 교차 유효성 검사에 사용하기 전에 데이터 집합을 정규화하는 것이 모범 사례입니다.

  • 모델 교차 유효성 검사는 모델을 여러 번 학습하고 유효성을 검사하기 때문에 계산 집약적이고 임의로 분할된 데이터 세트를 사용하여 모델의 유효성을 검사한 경우보다 완료하는 데 훨씬 더 오래 걸립니다.

  • 따라서 지정된 매개 변수에 따라 모델의 적합성을 설정하는 데 모델 교차 유효성 검사를 사용하는 것이 좋습니다. 모델 하이퍼 매개 변수 조정을 사용하여 최적의 매개 변수를 식별합니다.

  • 교차 유효성 검사를 사용하여 모델의 정확도를 측정하는 경우 데이터 세트를 학습 및 테스트 집합으로 분할할 필요가 없습니다.

    그러나 유효성 검사 데이터 세트가 업스트림으로 제공되는 경우 모듈은 n 접기로 분할하는 대신 지정된 학습 및 테스트 데이터 세트를 사용합니다. 즉, 첫 번째 데이터 세트는 각 매개 변수 조합에 대한 모델을 학습하는 데 사용되며, 모델은 유효성 검사 데이터 세트에서 평가됩니다. 교차 유효성 검사와 함께 매개 변수 스윕 사용에 대한 섹션을 참조하세요.

  • 이 문서에서는 이전 버전의 모듈을 사용하지만 교차 유효성 검사 프로세스에 대해 잘 설명합니다. 매개 변수를 선택하여 알고리즘을 최적화하는 방법은 Machine Learning

예상 입력

Name 유형 설명
학습되지 않은 모델 ILearner 인터페이스 데이터 집합에 대한 교차 유효성 검사용의 학습되지 않은 모델입니다.
데이터 세트 데이터 테이블 입력 데이터 세트

모듈 매개 변수

Name 범위 Type 기본값 설명
레이블 열 any ColumnSelection 유효성 검사에 사용할 레이블을 포함하는 열을 선택합니다.
무작위 초기값 any 정수 0 난수 생성기의 초기값입니다.

이 값은 선택 사항입니다. 지정되지 않은 경우

출력

Name 유형 설명
점수가 매겨진 결과 데이터 테이블 점수 매기기의 결과입니다.
접기별 평가 결과 데이터 테이블 평가의 결과입니다(접기별 및 전체).

예외

예외 설명
오류 0035 지정된 사용자나 항목에 대해 기능을 제공하지 않으면 예외가 발생합니다.
오류 0032 인수가 숫자가 아니면 예외가 발생합니다.
오류 0033 인수가 무한 값이면 예외가 발생합니다.
오류 0001 데이터 세트의 지정된 열 중 하나 이상을 찾을 수 없으면 예외가 발생합니다.
오류 0003 하나 이상의 입력이 null이거나 비어 있으면 예외가 발생합니다.
오류 0006 매개 변수가 지정된 값과 같거나 그보다 크면 예외가 발생합니다.
오류 0008 매개 변수가 범위 내에 있지 않으면 예외가 발생합니다.
오류 0013 모듈에 전달된 학습자의 유형이 잘못된 경우 예외가 발생합니다.

Studio(클래식) 모듈과 관련된 오류 목록은 Machine Learning 오류 코드를 참조하세요.

API 예외 목록은 Machine Learning REST API 오류 코드를 참조하세요.

참고 항목

평가
추천 평가
전체 모듈 목록