파티션 및 샘플
샘플링을 기반으로 데이터 집합의 여러 파티션 만들기
범주: 데이터 변환/샘플링 및 분할
참고
적용 대상: Machine Learning Studio (클래식)
이 콘텐츠는 Studio (클래식)에만 해당 됩니다. Azure Machine Learning 디자이너에는 비슷한 끌어서 놓기 모듈이 추가 되었습니다. 이 문서에서는 두 가지 버전을 비교 하는방법에 대해 자세히 알아보세요.
모듈 개요
이 문서에서는 Azure Machine Learning Studio (클래식)에서 파티션 및 샘플 모듈을 사용 하 여 데이터 집합에 대 한 샘플링을 수행 하거나 데이터 집합에서 파티션을 만드는 방법을 설명 합니다.
샘플링은 동일한 비율의 값을 유지하면서 데이터 집합의 크기를 줄일 수 있기 때문에 기계 학습에서 중요한 도구입니다. 이 모듈은 기계 학습에서 중요 한 몇 가지 관련 작업을 지원 합니다.
데이터를 동일한 크기의 여러 하위 섹션으로 분할
교차 유효성 검사를 위해 파티션을 사용 하거나, 임의의 그룹에 사례를 할당할 수 있습니다.
데이터를 그룹으로 구분 하 고 특정 그룹의 데이터로 작업 합니다.
여러 그룹에 대 한 사례를 임의로 할당 한 후에는 하나의 그룹에만 연결 된 기능을 수정 해야 할 수 있습니다.
견본.
데이터의 백분율을 추출 하거나, 무작위 샘플링을 적용 하거나, 데이터 집합의 균형을 조정 하 고 값에 대해 층 화 샘플링을 수행 하는 데 사용할 열을 선택할 수 있습니다.
테스트를 위해 더 작은 데이터 집합을 만듭니다.
데이터가 많은 경우 실험을 설정 하는 동안 처음 n 개 행만 사용 하 고 모델을 빌드할 때 전체 데이터 집합을 사용 하도록 전환할 수 있습니다. 샘플링을 사용 하 여 개발에 사용할 작은 데이터 집합을 만들 수도 있습니다.
파티션 및 샘플을 구성 하는 방법
이 모듈에서는 데이터를 파티션으로 분할 하거나 샘플링 하는 여러 가지 방법을 지원 합니다. 먼저 메서드를 선택한 다음 메서드에 필요한 추가 옵션을 설정 합니다.
- 상위 행 수 가져오기
데이터 집합에서 상위 N 개 행 가져오기
처음 n 개 행만 가져오려면 이 모드를 사용합니다. 이 옵션은 적은 수의 행에 대 한 실험을 테스트 하려는 경우 데이터의 균형을 조정 하거나 샘플링 하지 않아도 되는 경우에 유용 합니다.
Studio (클래식)에서 실험에 파티션 및 샘플 모듈을 추가 하 고 데이터 집합을 연결 합니다.
파티션 또는 샘플 모드:이 옵션을 Head 로 설정 합니다.
선택할 행 수: 반환할 행 수를 입력 합니다.
지정 하는 행 수는 음수가 아닌 정수 여야 합니다. 선택한 행 수가 데이터 집합의 행 수보다 크면 전체 데이터 집합이 반환 됩니다.
실험을 실행합니다.
모듈은 지정 된 수의 행만 포함 하는 단일 데이터 집합을 출력 합니다. 행은 항상 데이터 집합의 맨 위에서 읽습니다.
데이터 샘플 만들기
이 옵션은 간단한 무작위 샘플링 또는 층 화 무작위 샘플링을 지원 합니다. 이는 테스트를 위해 더 작은 대표적인 샘플 데이터 집합을 만들려는 경우에 유용 합니다.
Studio (클래식)에서 실험에 파티션 및 샘플 모듈을 추가 하 고 데이터 집합을 연결 합니다.
파티션 또는 샘플 모드: 샘플링 으로 설정 합니다.
샘플링 률: 0에서 1 사이의 값을 입력 합니다. 이 값은 원본 데이터 집합에서 출력 데이터 집합에 포함 되어야 하는 행의 비율을 지정 합니다.
예를 들어 원래 데이터 집합의 반만 만들려면를 입력
0.5
하 여 샘플링 비율이 50%가 되도록 지정 합니다.입력 데이터 집합의 행은 지정 된 비율에 따라 섞은 되 고 출력 데이터 집합에 선택적으로 배치 됩니다.
샘플링을 위한 임의 초기값: 필요에 따라 초기값으로 사용할 정수를 입력 합니다.
이 옵션은 매번 행을 동일한 방식으로 분할 하려는 경우에 중요 합니다. 기본값은 0 이며,이는 시스템 클록을 기반으로 시작 초기값을 생성 한다는 의미입니다. 이로 인해 실험을 실행할 때마다 결과가 약간 다를 수 있습니다.
샘플링을 위한 층 화 분할: 샘플링 전에 데이터 집합의 행을 일부 키 열로 균등 하 게 분할 해야 하는 경우이 옵션을 선택 합니다.
샘플링을 위한 층 화 key 열 에 대해 데이터 집합을 나눌 때 사용할 단일 층 열 을 선택 합니다. 그런 다음 데이터 집합의 행은 다음과 같이 구분 됩니다.
모든 입력 행은 지정 된 층 열의 값으로 그룹화 (층 화) 됩니다.
각 그룹 내에서 행을 섞습니다.
지정한 비율에 맞게 각 그룹을 선택적으로 출력 데이터 집합에 추가합니다.
층 화 샘플링에 대 한 자세한 내용은 기술 참고 사항 섹션을 참조 하세요.
실험을 실행합니다.
이 옵션을 사용 하 여 모듈은 데이터의 대표적인 샘플링을 포함 하는 단일 데이터 집합을 출력 합니다.
데이터 집합의 나머지 샘플링 되지 않은 부분은 출력 되지 않습니다. 그러나 SQL 변환 적용 모듈을 사용 하 여 데이터 집합에 대 한 조인을 만들어 사용 하지 않는 행을 확인할 수 있습니다.
데이터를 파티션으로 분할
데이터 집합을 데이터의 하위 집합으로 분할 하려는 경우이 옵션을 사용 합니다. 이 옵션은 교차 유효성 검사를 위해 사용자 지정 된 접기 수를 만들거나 여러 그룹으로 행을 분할 하려는 경우에도 유용 합니다.
Studio (클래식)에서 실험에 파티션 및 샘플 모듈을 추가 하 고 데이터 집합을 연결 합니다.
파티션 또는 샘플 모드 의 경우 접기에 할당 을 선택 합니다.
분할에서 대체 사용: 잠재적으로 재사용 하기 위해 샘플링 된 행을 행 풀에 다시 배치 하려면이 옵션을 선택 합니다. 결과적으로 같은 행이 여러 접기에 할당 될 수 있습니다.
대체 (기본 옵션)를 사용 하지 않는 경우에는 사용 가능한 다시 사용을 위해 샘플링 된 행이 행 풀에 다시 배치 되지 않습니다. 따라서 각 행은 한 번의 접기에만 할당할 수 있습니다.
임의 분할: 접기에 행을 임의로 할당 하려면이 옵션을 선택 합니다.
이 옵션을 선택 하지 않으면 라운드 로빈 메서드를 사용 하 여 행이 접기에 할당 됩니다.
임의 초기값: 필요에 따라 초기값으로 사용할 정수를 입력 합니다. 이 옵션은 매번 행을 동일한 방식으로 분할 하려는 경우에 중요 합니다. 지정하지 않으면 무작위 시작 초기값이 사용됨을 의미하는 기본값 0이 적용됩니다.
파티 셔 너 메서드 지정: 다음 옵션을 사용 하 여 데이터를 각 파티션에 할당 하는 방법을 지정 합니다.
균등 분할: 각 파티션에 동일한 수의 행을 배치 하려면이 옵션을 사용 합니다. 출력 파티션 수를 지정 하려면 균등 하 게 분할할 접기 수 지정 입력란에 정수를 입력 합니다.
사용자 지정 비율을 사용 하는 파티션:이 옵션을 사용 하 여 각 파티션의 크기를 쉼표로 구분 된 목록으로 지정할 수 있습니다.
예를 들어 데이터의 50%를 포함 하는 첫 번째 파티션과 데이터의 25%를 포함 하는 나머지 두 개의 파티션에 3 개의 파티션을 만들려면 쉼표로 구분 된 비율 목록 상자를 클릭 하 고 다음 숫자를 입력 합니다.
.5, .25, .25
모든 파티션 크기의 합계는 정확히 1 개까지 추가 해야 합니다.
1 보다 작은 값을 입력 하면 나머지 행을 포함 하는 추가 파티션이 만들어집니다. 예를 들어 .2 및 xmla-over-tcp 값을 입력 하면 모든 행의 남은 50%를 포함 하는 세 번째 파티션이 만들어집니다.
1 개 이상의 숫자를 입력 하는 경우 실험을 실행 하면 오류가 발생 합니다.
층 화 split: 분할할 때 행을 층 화 하려면이 옵션을 선택 하 고 층 열 을 선택 합니다.
층 화 샘플링에 대 한 자세한 내용은 기술 참고 사항 섹션을 참조 하세요.
실험을 실행합니다.
이 옵션을 사용 하 여 모듈은 지정한 규칙을 사용 하 여 분할 된 여러 데이터 집합을 출력 합니다.
미리 정의 된 파티션의 데이터 사용
이 옵션은 데이터 집합을 여러 파티션으로 나누고 이제 추가 분석 또는 처리를 위해 각 파티션을 로드 하려는 경우에 사용 됩니다.
Studio (클래식)의 실험에 파티션 및 샘플 모듈을 추가 합니다.
이전 파티션 및 샘플 인스턴스의 출력에 연결 합니다. 이 인스턴스에서는 정리 에 할당 옵션을 사용 하 여 파티션 수를 생성 해야 합니다.
파티션 또는 샘플 모드: 선택 접기 를 선택 합니다.
샘플링할 접기 지정: 인덱스를 입력 하 여 사용할 파티션을 선택 합니다. 파티션 인덱스는 1부터 사용 됩니다. 예를 들어 데이터 집합을 세 부분으로 나눈 경우 파티션에는 인덱스 1, 2, 3이 있습니다.
잘못 된 인덱스 값을 입력 하는 경우 디자인 타임 오류가 발생 합니다. "오류 0018: 데이터 집합에 잘못 된 데이터가 포함 되어 있습니다."
접기를 기준으로 데이터 집합을 그룹화 하는 것 외에도 데이터 집합을 대상 접기 및 기타 모든 그룹의 두 그룹으로 구분할 수 있습니다. 이렇게 하려면 단일 접기의 인덱스를 입력 한 다음 선택한 접기의 보완 을 선택 하 여 지정 된 접기의 데이터를 제외한 모든 데이터를 가져옵니다.
여러 파티션으로 작업 하는 경우에는 파티션 및 샘플 모듈의 인스턴스를 추가 하 여 각 파티션을 처리 해야 합니다.
예를 들어 이전에 환자를 사용 하 여 5 개의 접기로 분할 한 경우를 가정해 보겠습니다. 각 개별 접기를 사용 하려면 파티션 및 샘플 모듈의 복사본이 5 개 필요 하 고, 각각 다른 접기를 선택 합니다.
팁
예제 실험 인 파티션 분할 및 샘플에서는이 기법을 보여 줍니다.
실험을 실행합니다.
이 옵션을 사용 하면 모듈은 해당 접기에 할당 된 행만 포함 하는 단일 데이터 집합을 출력 합니다.
참고
접기 명칭은 직접 볼 수 없습니다. 메타 데이터에만 표시 됩니다.
예제
이 모듈을 사용 하는 방법에 대 한 예제는 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 | 데이터 테이블 | 분할에서 생성되는 데이터 집합입니다. |