파티션 및 샘플

중요

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 Studio(클래식) 전용

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

모듈 개요

이 문서에서는 Machine Learning Studio(클래식)에서 파티션 및 샘플 모듈을 사용하여 데이터 세트에서 샘플링을 수행하거나 데이터 세트에서 파티션을 만드는 방법을 설명합니다.

샘플링은 동일한 비율의 값을 유지하면서 데이터 집합의 크기를 줄일 수 있기 때문에 기계 학습에서 중요한 도구입니다. 이 모듈은 기계 학습에서 중요한 몇 가지 관련 작업을 지원합니다.

  • 동일한 크기의 여러 하위 섹션으로 데이터 나누기.

    파티션을 사용하여 교차 유효성 검사를 수행하거나 임의 그룹에 사례를 할당할 수 있습니다.

  • 데이터를 그룹으로 구분하고 특정 그룹의 데이터 사용.

    다른 그룹에 사례를 임의로 할당한 후에는 하나의 그룹과 연결된 기능을 수정해야 할 수 있습니다.

  • 샘플링.

    특정 비율의 데이터를 추출하거나, 무작위 샘플링을 적용하거나, 데이터 세트의 균형 조정에 사용할 열을 선택하고 해당 값에서 층화된 샘플링을 수행할 수 있습니다.

  • 테스트를 위해 작은 데이터 세트 만들기.

    데이터가 많은 경우 실험을 설정하는 동안 처음 n 개 행만 사용한 다음 모델을 빌드할 때 전체 데이터 세트를 사용하도록 전환할 수 있습니다. 샘플링을 사용하여 개발에 사용할 더 작은 데이터 세트를 만들 수도 있습니다.

파티션 및 샘플을 구성하는 방법

이 모듈은 데이터를 파티션으로 분할하거나 샘플링하는 여러 메서드를 지원합니다. 먼저 메서드를 선택한 다음 메서드에 필요한 추가 옵션을 설정합니다.

  • 상위 행 수 가져오기

데이터 세트에서 상위 N개 행 가져오기

처음 n개 행만 가져오려면 이 모드를 사용합니다. 이 옵션은 적은 수의 행에서 실험을 테스트하려는 경우 유용하며 어떤 방식으로든 데이터를 분산하거나 샘플링할 필요가 없습니다.

  1. Studio(클래식)에서 실험에 파티션 및 샘플 모듈을 추가하고 데이터 세트를 연결합니다.

  2. 파티션 또는 샘플 모드: 이 옵션을 헤드로 설정합니다.

  3. 선택할 행 수: 반환할 행 수를 입력합니다.

    지정하는 행 수는 음수가 아닌 정수여야 합니다. 선택한 행 수가 데이터 세트의 행 수보다 크면 전체 데이터 세트가 반환됩니다.

  4. 실험을 실행합니다.

모듈은 지정된 수의 행만 포함하는 단일 데이터 세트를 출력합니다. 항상 데이터 세트의 맨 위에서 행을 읽습니다.

테이블 샘플 만들기

이 옵션은 간단한 무작위 샘플링이나 층화된 무작위 샘플링을 지원합니다. 이 기능은 테스트를 위해 더 작은 대표 샘플 데이터 세트를 만들려는 경우에 유용합니다.

  1. Studio(클래식)에서 실험에 파티션 및 샘플 모듈을 추가하고 데이터 세트를 연결합니다.

  2. 파티션 또는 샘플 모드: 샘플링으로 설정합니다.

  3. 샘플링 속도: 0에서 1 사이의 값을 입력합니다. 이 값은 출력 데이터 세트에 포함되어야 하는 원본 데이터 세트의 행 백분율을 지정합니다.

    예를 들어 원래 데이터 세트의 절반만 원하는 경우 샘플링 비율이 50%여야 함을 나타내도록 입력 0.5 합니다.

    입력 데이터 세트의 행은 지정된 비율에 따라 순서를 섞고 출력 데이터 세트에 선택적으로 배치됩니다.

  4. 샘플링을 위한 임의 시드: 필요에 따라 시드 값으로 사용할 정수를 입력합니다.

    이 옵션은 매번 동일한 방식으로 행을 나누려는 경우에 중요합니다. 기본값은 0으로, 시스템 클록을 기준으로 시작 시드가 생성됨을 의미합니다. 이렇게 하면 실험을 실행할 때마다 약간 다른 결과가 발생할 수 있습니다.

  5. 샘플링을 위한 계층화된 분할: 샘플링 전에 데이터 세트의 행을 일부 키 열로 균등하게 나누어야 하는 경우 이 옵션을 선택합니다.

    샘플링을 위한 계층화 키 열에서 데이터 세트를 나눌 때 사용할 단일 ‘층 열’을 선택합니다. 데이터 세트의 행이 다음과 같이 나뉩니다.

    1. 모든 입력 행은 지정된 층 열의 값으로 그룹화(층화)됩니다.

    2. 각 그룹 내에서 행을 섞습니다.

    3. 지정한 비율에 맞게 각 그룹을 선택적으로 출력 데이터 집합에 추가합니다.

    계층화된 샘플링에 대한 자세한 내용은 기술 정보 섹션을 참조하세요.

  6. 실험을 실행합니다.

    이 옵션을 사용하면 모듈은 데이터의 대표 샘플링을 포함하는 단일 데이터 세트를 출력합니다.

    데이터 세트에서 샘플링되지 않은 나머지 부분은 출력되지 않습니다. 그러나 SQL 변환 적용 모듈을 사용하여 데이터 세트에 조인을 만들어 사용하지 않은 행을 확인할 수 있습니다.

데이터를 파티션으로 분할

데이터 세트를 데이터 하위 집합으로 분할하려는 경우 이 옵션을 사용합니다. 이 옵션은 교차 유효성 검사를 위해 사용자 지정 접기 수를 만들거나 행을 여러 그룹으로 분할하려는 경우에도 유용합니다.

  1. Studio(클래식)에서 실험에 파티션 및 샘플 모듈을 추가하고 데이터 세트를 연결합니다.

  2. 파티션 또는 샘플 모드에서 접기에 할당을 선택합니다.

  3. 분할에서 대체 사용: 잠재적으로 재사용하기 위해 샘플링된 행을 행 풀에 다시 보관하려는 경우 이 옵션을 선택합니다. 결과적으로 동일한 행이 여러 접기에 할당될 수 있습니다.

    대체(기본 옵션)를 사용하지 않는 경우 샘플링된 행은 다시 사용할 수 있는 행 풀에 다시 배치되지 않습니다. 따라서 각 행을 하나의 접기에만 할당할 수 있습니다.

  4. 임의 분할: 접기에 행을 임의로 할당하려는 경우 이 옵션을 선택합니다.

    이 옵션을 선택하지 않으면 라운드 로빈 메서드를 사용하여 행이 접힌 항목에 할당됩니다.

  5. 임의 시드: 필요에 따라 시드 값으로 사용할 정수를 입력합니다. 이 옵션은 매번 동일한 방식으로 행을 나누려는 경우에 중요합니다. 지정하지 않으면 무작위 시작 초기값이 사용됨을 의미하는 기본값 0이 적용됩니다.

  6. 파티셔너 메서드 지정: 다음 옵션을 사용하여 각 파티션에 데이터를 할당하는 방법을 나타냅니다.

    • 균등 분할: 각 파티션에 동일한 개수의 행을 배치하려면 이 옵션을 사용합니다. 출력 파티션 수를 지정하려면 텍스트 상자로 균등하게 분할할 접기 수 지정 에 정수를 입력합니다.

    • 사용자 지정 비율로 분할: 각 파티션의 크기를 쉼표로 구분된 목록으로 지정하려면 이 옵션을 사용합니다.

      예를 들어 데이터의 50%를 포함하는 첫 번째 파티션과 데이터의 25%를 포함하는 나머지 두 개의 파티션을 사용하여 세 개의 파티션을 만들려면 쉼표 텍스트 상자로 구분된 비율 목록을 클릭하고 다음 숫자를 입력합니다. .5, .25, .25

      모든 파티션 크기의 합계는 정확히 1이 되어야 합니다.

      • 합계가 ‘1보다 작은’인 숫자를 입력하면 나머지 행을 포함할 추가 파티션이 생성됩니다. 예를 들어 .2 및 .3 값을 입력하면 모든 행의 나머지 50%를 포함하는 세 번째 파티션이 만들어집니다.

      • 최대 1개 이상의 숫자를 입력하면 실험을 실행할 때 오류가 발생합니다.

  7. 층화된 분할: 분할 시 행을 층화하려는 경우 이 옵션을 선택한 다음 층 열을 선택합니다.

    계층화된 샘플링에 대한 자세한 내용은 기술 정보 섹션을 참조하세요.

  8. 실험을 실행합니다.

    이 옵션을 사용하면 모듈은 지정한 규칙을 사용하여 분할된 여러 데이터 세트를 출력합니다.

미리 정의된 파티션의 데이터 사용

이 옵션은 데이터 세트를 여러 파티션으로 나눈 후 추가 분석 또는 처리를 위해 각 파티션을 차례로 로드하려는 경우에 사용됩니다.

  1. Studio(클래식)에서 실험에 파티션 및 샘플 모듈을 추가합니다.

  2. 파티션 및 샘플의 이전 인스턴스 출력에 커넥트. 해당 인스턴스는 접기에 할당 옵션을 사용하여 몇 개의 파티션을 생성한 상태여야 합니다.

  3. 파티션 또는 샘플 모드: 접기 선택을 선택합니다.

  4. 샘플링할 접기를 지정합니다. 인덱스 입력하여 사용할 파티션을 선택합니다. 파티션 인덱스는 1부터 시작합니다. 예를 들어 데이터 세트를 세 부분으로 나눈 경우 파티션에 인덱스 1, 2, 3이 지정됩니다.

    잘못된 인덱스 값을 입력하면 디자인 타임 오류가 발생합니다. "오류 0018: 데이터 세트에 잘못된 데이터가 포함되어 있습니다."

    접기를 기준으로 데이터 세트를 그룹화하는 것 외에도 데이터 세트를 대상 접기와 다른 모든 항목의 두 그룹으로 구분할 수 있습니다. 이렇게 하려면 단일 접기의 인덱싱을 입력한 다음 선택한 접기의 보수 선택 옵션을 선택하여 지정된 접기의 데이터를 제외한 모든 항목을 가져옵니다.

  5. 여러 파티션으로 작업하는 경우 파티 션 및 샘플 모듈의 인스턴스를 추가하여 각 파티션을 처리해야 합니다.

    예를 들어, 이전에 분할된 환자를 나이를 사용하여 다섯 접이식으로 분할했다고 가정해 봅시다. 각 개별 접기를 사용하려면 파티션 및 샘플 모듈의 복사본 5개가 필요하며 각각 다른 접기를 선택합니다.

    샘플 실험인 분할 파티션 및 샘플은 이 기술을 보여 줍니다.

  6. 실험을 실행합니다.

    이 옵션을 사용하면 모듈은 해당 접기에서 할당된 행만 포함하는 단일 데이터 세트를 출력합니다.

참고

접기 지정은 직접 볼 수 없습니다. 메타데이터에만 존재합니다.

이 모듈을 사용하는 방법에 대한 예제는 Azure AI 갤러리를 참조하세요.

  • 이진 분류에 대한 교차 유효성 검사: 더 작은 임의 샘플링 데이터 세트를 만들기 위해 20% 샘플링 속도가 적용됩니다. 원래 인구 조사 데이터 세트에는 30,000개가 넘는 행이 있었습니다. 샘플링된 데이터 세트는 약 6500개입니다.

  • 회귀에 대한 교차 유효성 검사: 데이터는 계층화 없이 5개의 접기로 임의로 균등하게 할당되며 결과는 교차 유효성 검사에 사용됩니다.

  • 분할 및 샘플: 분할 및 샘플링을 사용하는 여러 방법을 보여 줍니다. 먼저 접기 할당 옵션은 데이터 세트의 행을 균등하게 크기가 조정된 세 그룹 중 하나에 할당하는 데 사용됩니다. 그런 다음 접기 선택 모드를 사용하여 데이터의 하위 집합에 작업을 적용하여 파티션 및 샘플의 인스턴스 3개를 더 추가합니다.

    • 첫 번째 접기(인덱스 1)에서 행은 임의로 분할됩니다.
    • 두 번째 접기(인덱스 2)에서는 행이 교육별로 분할됩니다.
    • 세 번째 접기(인덱스 3)에서는 행이 연령별로 분할됩니다.

기술 정보

  • 계층화 열은 불연속 값으로 범주화되어야 합니다. 열이 아직 범주가 아니고 오류가 발생하면 메타데이터 편집 을 사용하여 열 속성을 변경합니다.

  • 지정한 지층 열에는 연속 데이터가 포함될 수 없습니다. 즉, 각 셀에 부동 소수점 값이 있는 숫자 데이터입니다. 그렇지 않으면 모듈에서 데이터를 처리할 수 없고 오류를 반환합니다.

    그 이유는 계층화에 사용되는 모든 열에 한정된 값 집합이 있어야 하기 때문입니다. 지정된 지층 열에 부동 소수점 값이 포함되어 있고 열이 범주 형식이 아닌 경우 무한 개수의 값이 포함될 수 있습니다.

  • 지층 열에 부울 값이 포함되어 있고 범주로 해석되도록 하려면 메타데이터 편집 모듈을 사용하여 메타데이터 레이블을 변경해야 합니다.

  • 계층 열에 고유 값이 너무 많은 문자열 또는 숫자 데이터가 포함된 경우 열은 계층화된 샘플링에 적합하지 않습니다.

계층화된 샘플링에 대한 자세한 정보

계층화된 샘플링 은 데이터의 하위 집합에 선택한 지층 열의 대표적인 샘플링이 있는지 확인합니다. 예를 들어 학습 데이터(테스트 데이터)가 테스트 데이터(학습 데이터)에 포함된 것과 동일한 연령 값 분포를 포함하도록 하려는 등의 경우에 이 기술을 사용하면 유용합니다. 또는 의료 연구에서 성별 열을 층화하여 데이터 분할 시 남성과 여성을 균일하게 분포시킬 수도 있습니다. 층화를 수행하면 선택한 값의 비율이 유지됩니다.

지층 열로 사용할 단일 열을 선택하여 데이터를 구분할 값을 지정합니다.

이 모듈에서는 계층 열이 범주 열이 되도록 합니다. 층에 대해 정수 값 열을 사용하려는 경우에는 해당 열에 범주 유형을 할당하는 것이 가장 효율적입니다. Machine Learning Studio(클래식)에 추가하기 전에 데이터의 스키마를 통해 이 작업을 수행하거나 메타데이터 편집을 사용하여 열의 메타데이터를 업데이트할 수 있습니다.

연속 데이터(즉, 각 셀에서 부동 소수점 값을 가진 숫자 데이터)가 포함된 열은 층 열로 사용할 수 없습니다. 오류가 발생하면 그룹 데이터를 Bin으로 사용하여 값을 개별 범위로 버킷한 다음 메타데이터 편집 을 사용하여 열이 범주로 처리되도록 보장할 수 있습니다.

예상 입력

Name 유형 설명
데이터 세트 데이터 테이블 분할할 데이터 집합입니다.

모듈 매개 변수

Name 범위 Type 기본값 설명
분할 또는 샘플링 모드 목록 샘플링 방법 샘플링 분할 또는 샘플링 모드를 선택합니다.
분할에서 대체 사용 모두 부울 아니요 접기를 분리해야 하는지(기본값 - 대체 없음) 또는 겹쳐야 하는지 여부를 나타냅니다(true - 바꾸기 사용).
임의 분할 모두 부울 True 분할이 임의적인지 여부를 나타냅니다.
무작위 초기값 모두 정수 0 난수 생성기의 초기값을 지정합니다.
파티셔너 방법 지정 목록 분할 방법 균등 분할 파티션을 균등하게 선택하여 같은 크기의 접이식으로 분할하거나, 사용자 지정된 비율의 파티션을 사용자 지정된 크기의 접기로 분할합니다.
균등하게 분할할 접기 수 지정 >=1 정수 5 분할할 파티션 수를 선택합니다.
층화 분할 목록 True/False 형식 False 분할이 층화되는지 여부를 나타냅니다.
층화 키 열 모두 ColumnSelection 층화 키를 포함합니다.
쉼표로 구분된 비율 목록입니다. 모두 문자열 쉼표로 구분된 비율 나열
사용자 지정된 접기 할당에 대한 층화 분할 모두 True/False 형식 False 분할이 사용자 지정된 접기 할당에 대해 층화되는지 여부를 나타냅니다.
사용자 지정된 접기 할당에 대한 층화 키 열 모두 ColumnSelection 사용자 지정된 접기 할당에 대한 층화 키를 포함합니다.
샘플링 원본 접기 지정 >=1 정수 1 샘플링할 접기의 인덱스를 포함합니다.
선택한 접기의 보집합 선택 모두 부울 아니요 지정된 접기의 보수 선택
샘플링 비율 모두 Float 0.01 샘플링 비율을 선택합니다.
샘플링의 무작위 초기값 모두 정수 0 샘플링에 사용할 난수 생성기의 초기값을 지정합니다.
샘플링에 대한 층화 분할 모두 True/False False 분할이 샘플링을 위해 층화되는지 여부를 나타냅니다.
샘플링에 대한 층화 키 열 모두 ColumnSelection 샘플링의 층화 키를 포함합니다.
선택할 행 수 >=0 정수 10 다음 모듈로 전달할 수 있는 최대 레코드 수를 선택합니다.

출력

Name 유형 설명
oDataset 데이터 테이블 분할에서 생성되는 데이터 집합입니다.

참고 항목

샘플링 및 분할
데이터 분할
메타데이터 편집
Bin으로 데이터 그룹화