파티션 및 샘플

샘플링을 기반으로 데이터 집합의 여러 파티션 만들기

범주: 데이터 변환/샘플링 및 분할

참고

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

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

모듈 개요

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

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

  • 데이터를 동일한 크기의 여러 하위 섹션으로 분할

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

  • 데이터를 그룹으로 구분 하 고 특정 그룹의 데이터로 작업 합니다.

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

  • 견본.

    데이터의 백분율을 추출 하거나, 무작위 샘플링을 적용 하거나, 데이터 집합의 균형을 조정 하 고 값에 대해 층 화 샘플링을 수행 하는 데 사용할 열을 선택할 수 있습니다.

  • 테스트를 위해 더 작은 데이터 집합을 만듭니다.

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

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

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

  • 상위 행 수 가져오기

데이터 집합에서 상위 N 개 행 가져오기

처음 n 개 행만 가져오려면 이 모드를 사용합니다. 이 옵션은 적은 수의 행에 대 한 실험을 테스트 하려는 경우 데이터의 균형을 조정 하거나 샘플링 하지 않아도 되는 경우에 유용 합니다.

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

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

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

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

  4. 실험을 실행합니다.

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

데이터 샘플 만들기

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

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

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

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

    예를 들어 원래 데이터 집합의 반만 만들려면를 입력 0.5 하 여 샘플링 비율이 50%가 되도록 지정 합니다.

    입력 데이터 집합의 행은 지정 된 비율에 따라 섞은 되 고 출력 데이터 집합에 선택적으로 배치 됩니다.

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

    이 옵션은 매번 행을 동일한 방식으로 분할 하려는 경우에 중요 합니다. 기본값은 0 이며,이는 시스템 클록을 기반으로 시작 초기값을 생성 한다는 의미입니다. 이로 인해 실험을 실행할 때마다 결과가 약간 다를 수 있습니다.

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

    샘플링을 위한 층 화 key 열 에 대해 데이터 집합을 나눌 때 사용할 단일 층 열 을 선택 합니다. 그런 다음 데이터 집합의 행은 다음과 같이 구분 됩니다.

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

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

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

    층 화 샘플링에 대 한 자세한 내용은 기술 참고 사항 섹션을 참조 하세요.

  6. 실험을 실행합니다.

    이 옵션을 사용 하 여 모듈은 데이터의 대표적인 샘플링을 포함 하는 단일 데이터 집합을 출력 합니다.

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

데이터를 파티션으로 분할

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

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

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

  3. 분할에서 대체 사용: 잠재적으로 재사용 하기 위해 샘플링 된 행을 행 풀에 다시 배치 하려면이 옵션을 선택 합니다. 결과적으로 같은 행이 여러 접기에 할당 될 수 있습니다.

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

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

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

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

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

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

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

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

      모든 파티션 크기의 합계는 정확히 1 개까지 추가 해야 합니다.

      • 1 보다 작은 값을 입력 하면 나머지 행을 포함 하는 추가 파티션이 만들어집니다. 예를 들어 .2 및 xmla-over-tcp 값을 입력 하면 모든 행의 남은 50%를 포함 하는 세 번째 파티션이 만들어집니다.

      • 1 개 이상의 숫자를 입력 하는 경우 실험을 실행 하면 오류가 발생 합니다.

  7. 층 화 split: 분할할 때 행을 층 화 하려면이 옵션을 선택 하 고 층 열 을 선택 합니다.

    층 화 샘플링에 대 한 자세한 내용은 기술 참고 사항 섹션을 참조 하세요.

  8. 실험을 실행합니다.

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

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

이 옵션은 데이터 집합을 여러 파티션으로 나누고 이제 추가 분석 또는 처리를 위해 각 파티션을 로드 하려는 경우에 사용 됩니다.

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

  2. 이전 파티션 및 샘플 인스턴스의 출력에 연결 합니다. 이 인스턴스에서는 정리 에 할당 옵션을 사용 하 여 파티션 수를 생성 해야 합니다.

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

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

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

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

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

    예를 들어 이전에 환자를 사용 하 여 5 개의 접기로 분할 한 경우를 가정해 보겠습니다. 각 개별 접기를 사용 하려면 파티션 및 샘플 모듈의 복사본이 5 개 필요 하 고, 각각 다른 접기를 선택 합니다.

    예제 실험 인 파티션 분할 및 샘플에서는이 기법을 보여 줍니다.

  6. 실험을 실행합니다.

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

참고

접기 명칭은 직접 볼 수 없습니다. 메타 데이터에만 표시 됩니다.

예제

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

  • 이진 분류에 대 한 교차 유효성 검사: 더 작은 무작위 샘플링 된 데이터 집합을 만들기 위해 샘플링 비율 20%가 적용 됩니다. 원래 인구 조사 데이터 집합에는 3만 개 이상의 행이 있습니다. 샘플링 된 데이터 집합에는 6500이 있습니다.

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

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

    • 첫 번째 접기 (인덱스 1)에서 행은 무작위로 분할 됩니다.
    • 두 번째 접기 (인덱스 2)에서 행은 교육용으로 분할 됩니다.
    • 세 번째 접기 (인덱스 3)에서 행은 age로 분할 됩니다.

기술 정보

  • 층 화 열은 불연속 값을 포함 하는 범주 여야 합니다. 열이 아직 범주에 속하지 않고 오류가 발생 하면 메타 데이터 편집 을 사용 하 여 열 속성을 변경 합니다.

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

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

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

  • 층 열에 고유 값이 너무 많은 문자열 또는 숫자 데이터가 포함 된 경우이 열은 층 화 샘플링에 적합 한 후보가 아닙니다.

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

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

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

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

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

예상 입력

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

모듈 매개 변수

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

출력

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

참고 항목

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