모델 교차 유효성 검사

데이터를 분할 하 여 분류 또는 회귀 모델에 대 한 매개 변수 예상치를 교차 유효성 검사

범주: Machine Learning/평가

참고

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

이 콘텐츠는 Studio (클래식)에만 해당 됩니다. Azure Machine Learning 디자이너에는 비슷한 끌어서 놓기 모듈이 추가 되었습니다. 이 문서에서는 두 가지 버전을 비교 하는방법에 대해 자세히 알아보세요.

모듈 개요

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

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

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

교차 유효성 검사 작동 방법

  1. 교차 유효성 검사는 학습 데이터를 무작위로 ( 접기) 라는 여러 파티션으로 나눕니다.

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

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

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

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

교차 유효성 검사의 이점

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

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

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

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

  • 교차 유효성 검사는 데이터 집합 및 모델을 평가 합니다.

    교차 유효성 검사는 단순히 모델의 정확도를 측정 하는 것이 아니라 데이터 집합의 개념 및 데이터의 변동에 대 한 모델의 차이를 알려 줍니다.

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

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

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

간단한 교차 유효성 검사

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

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

  2. 분류 또는 회귀 모델의 출력을 연결 합니다.

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

    모델 교차 유효성 검사 에서는 평가의 일환으로 모델을 자동으로 학습 하므로 모델을 학습 하지 않아도 됩니다.

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

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

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

  6. 실험을 실행합니다.

  7. 보고서에 대 한 설명은 결과 섹션을 참조 하십시오.

    나중에 다시 사용 하기 위해 모델의 복사본을 가져오려면 알고리즘이 포함 된 모듈의 출력을 마우스 오른쪽 단추로 클릭 하 고 (예: 두 개의 Bayes Point 컴퓨터) 학습 된 모델로 저장 을 클릭 합니다.

매개 변수 스윕를 사용 하는 교차 유효성 검사

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

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

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

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

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

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

  6. 교차 유효성 검사 모델학습 데이터 집합 입력에 학습 데이터를 연결 합니다.

  7. 실험을 실행합니다.

  8. 결과를 검토 하 고 평가 점수를 검토 한 후 나중에 다시 사용 하기 위해 최상의 모델의 복사본을 가져오려면 Model Hyperparameters 튜닝 모듈을 마우스 오른쪽 단추로 클릭 하 고 학습 된 최상의 모델 을 선택한 다음 학습 된 모델로 저장 을 클릭 하면 됩니다.

참고

선택적 유효성 검사 데이터 집합 에 대 한 모델 하이퍼 매개 변수 조정 모듈의 입력을 사용 하는 경우 다른 결과가 나타날 수 있습니다.

이 옵션을 사용 하는 경우 정적 학습 데이터 집합과 테스트 데이터 집합을 지정 하는 것이 효과가 있습니다. 따라서 교차 유효성 검사 프로세스는 학습 및 테스트를 위해 데이터를 n 그룹으로 분할 하는 대신 지정 된 학습 및 테스트 데이터 집합을 사용 합니다. 그러나 메트릭은 n 접기 단위로 생성 됩니다.

결과

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

점수가 매겨진 결과

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

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

새 열 이름 설명
접기 할당 교차 유효성 검사를 수행 하는 동안 각 데이터 행이 할당 된 접기의 0 기반 인덱스를 나타냅니다.
점수가 매겨진 레이블 이 열은 데이터 집합의 끝에 추가 되 고 각 행에 대 한 예측 값을 포함 합니다.
점수가 매겨진 확률 이 열은 데이터 집합의 끝에 추가 되 고 점수가 매겨진 레이블의 값에 대 한 예상 확률을 나타냅니다.

평가 결과

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

이 보고서에서 접기는 인덱스 값으로 오름차순으로 나열 됩니다. 다른 열을 정렬 하려면 데이터 집합으로 결과를 저장할 수 있습니다.

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

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

또한 평가 중인 모델 유형에 따라 각 접기에 대해 다음과 같은 메트릭이 포함 됩니다.

  • 분류 모델: 전체 자릿수, 회수, F-점수, cc, 평균 로그 손실, 학습 로그 손실

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

예제

기계 학습에서 교차 유효성 검사를 사용 하는 방법에 대 한 예는 Azure AI Gallery를 참조 하세요.

기술 정보

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

  • 모델 교차 유효성 검사 는 모델을 여러 번 학습 하 고 유효성을 검사 하므로 무작위로 분할 된 데이터 집합을 사용 하 여 모델의 유효성을 검사 한 경우 보다 계산 집약적이 고 완료 하는 데 더 많은 시간이 걸립니다.

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

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

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

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

예상 입력

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

모듈 매개 변수

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

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

출력

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

예외

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

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

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

참고 항목

구하려는
추천 평가
전체 모듈 목록