이 문서에서는 Azure Machine Learning 디자이너의 구성 요소에 대해 설명합니다.
데이터 분할 구성 요소를 사용하여 데이터 세트를 두 개의 고유 집합으로 나눕니다.
이 구성 요소는 데이터를 학습 및 테스트 집합으로 구분해야 하는 경우에 유용합니다. 데이터가 분할되는 방식을 사용자 지정할 수도 있습니다. 일부 옵션은 데이터의 임의화를 지원합니다. 다른 항목은 특정 데이터 형식 또는 모델 형식에 맞게 조정됩니다.
구성 요소 구성
팁
분할 모드를 선택하기 전에 모든 옵션을 읽어 필요한 분할 유형을 결정합니다. 분할 모드를 변경하면 다른 모든 옵션이 다시 설정될 수 있습니다.
디자이너에서 데이터 분할 구성 요소를 파이프라인에 추가합니다. 이 구성 요소는 샘플 및 분할 범주의 데이터 변환에서 찾을 수 있습니다.
분할 모드: 데이터 형식 및 분할 방법에 따라 다음 모드 중 하나를 선택합니다. 분할 모드마다 옵션이 다릅니다.
행 분할: 데이터를 두 부분으로 나누려면 이 옵션을 사용합니다. 각 분할에 넣을 데이터의 백분율을 지정할 수 있습니다. 기본적으로 데이터는 50/50으로 나뉩니다.
각 그룹의 행 선택을 임의로 지정하고 계층화된 샘플링을 사용할 수도 있습니다. 계층화된 샘플링에서 두 결과 데이터 세트 간에 값을 균등하게 할당하려는 단일 데이터 열을 선택해야 합니다.
정규식 분할: 값에 대한 단일 열을 테스트하여 데이터 세트를 나누려는 경우 이 옵션을 선택합니다.
예를 들어 감정을 분석하는 경우 텍스트 필드에 특정 제품 이름이 있는지 확인할 수 있습니다. 그런 다음, 데이터 세트를 대상 제품 이름이 있는 행과 대상 제품 이름이 없는 행으로 나눌 수 있습니다.
상대 식 분할: 숫자 열에 조건을 적용할 때마다 이 옵션을 사용합니다. 이 숫자는 날짜/시간 필드, 연령 또는 달러 금액이 포함된 열 또는 백분율일 수 있습니다. 예를 들어 항목의 비용에 따라 데이터 세트를 나누거나, 연령 범위별로 사용자를 그룹화하거나, 달력 날짜를 기준으로 데이터를 구분할 수 있습니다.
행 분할
디자이너에서 데이터 분할 구성 요소를 파이프라인에 추가하고 분할하려는 데이터 세트를 연결합니다.
분할 모드의 경우 행 분할을 선택합니다.
첫 번째 출력 데이터 세트의 행 비율: 이 옵션을 사용하여 첫 번째(왼쪽) 출력으로 이동하는 행 수를 결정합니다. 다른 모든 행은 두 번째(오른쪽) 출력으로 이동합니다.
비율은 첫 번째 출력 데이터 세트로 전송되는 행의 백분율을 나타내므로 0에서 1 사이의 10진수를 입력해야 합니다.
예를 들어 값으로 0.75를 입력하면 데이터 세트가 75/25로 분할됩니다. 이 분할에서는 행의 75%가 첫 번째 출력 데이터 세트로 전송됩니다. 나머지 25%는 두 번째 출력 데이터 세트로 전송됩니다.
데이터 선택 영역을 두 그룹으로 임의 지정하려면 임의 분할 옵션을 선택합니다. 학습 및 테스트 데이터 세트를 만들 때 기본 설정 옵션입니다.
임의 시드: 임의 분할이 false로 설정된 경우 이 매개 변수는 무시됩니다. 그러지 않으면 음수가 아닌 정수 값을 입력하여 사용할 인스턴스의 의사 난수 시퀀스를 시작합니다. 이 기본 초기값은 난수를 생성하는 모든 구성 요소에서 사용됩니다.
초기값을 지정하면 결과를 재현할 수 있습니다. 분할 작업 결과를 반복해야 하는 경우 난수 생성기의 초기값을 지정해야 합니다.
계층화된 분할: 두 출력 데이터 세트에 지층 열 또는 계층화 키 열에 있는 값의 대표적인 샘플이 포함되도록 하려면 이 옵션을 True로 설정합니다.
계층화된 샘플링을 사용하면 각 출력 데이터 세트가 각 대상 값의 거의 동일한 비율을 가져오게 되도록 데이터가 분할됩니다. 예를 들어 학습 및 테스트 집합이 결과 또는 다른 열(예: 성별)과 대략적으로 균형을 맞추도록 할 수 있습니다.
파이프라인을 제출합니다.
정규식 선택
데이터 분할 구성 요소를 파이프라인에 추가하고 분할하려는 데이터 세트에 입력으로 연결합니다.
분할 모드의 경우 정규식 분할을 선택합니다.
정규식 상자에 유효한 정규식을 입력합니다.
정규식은 정규식에 대한 Python 구문을 따라야 합니다.
파이프라인을 제출합니다.
제공하는 정규식에 따라 데이터 세트는 두 개의 행 집합(표현식과 일치하는 값이 있는 행과 나머지 모든 행)으로 나뉩니다.
다음 예제에서는 정규식 옵션을 사용하여 데이터 세트를 나누는 방법을 보여 줍니다.
단일 전체 단어
다음은 열Gryphon의 텍스트를 Text 포함하는 모든 행을 첫 번째 데이터 세트에 넣는 예제입니다. 다른 행을 분할 데이터의 두 번째 출력 에 넣습니다.
\"Text" Gryphon
부분
이 예제에서는 데이터 세트의 두 번째 열 내의 모든 위치에서 지정된 문자열을 찾습니다. 이 위치는 인덱스 값 1로 여기에 설명되어 있습니다. 일치 항목 찾기에서는 대/소문자를 구분합니다.
(\1) ^[a-f]
첫 번째 결과 데이터 세트에는 인덱스 열이 다음 문자 a중 하나로 시작하는 모든 행이 bcdef포함됩니다. 다른 모든 행은 두 번째 출력으로 전달됩니다.
상대 식 선택
데이터 분할 구성 요소를 파이프라인에 추가하고 분할하려는 데이터 세트에 입력으로 연결합니다.
분할 모드의 경우 상대 식을 선택합니다.
관계형 식 상자에 단일 열에서 비교 작업을 수행하는 식을 입력합니다.
숫자 열의 경우:
- 열에는 날짜 및 시간 데이터 형식을 포함하여 숫자 데이터 형식의 숫자가 포함됩니다.
- 식은 열 이름을 하나까지만 참조할 수 있습니다.
- AND 연산에 앰퍼샌드 문자를
&사용합니다. OR 연산에 파이프 문자를|사용합니다. - 지원
<되는 연산자는 다음과><=>===!=같습니다. - 및 를 사용하여
()작업을 그룹화할 수 없습니다.
문자열 열의 경우:
- 지원되는 연산자는 다음과 같습니다
==!=.
파이프라인을 제출합니다.
이 식은 데이터 세트를 조건을 충족하는 값이 있는 행과 나머지 모든 행의 두 행 집합으로 나눕니다.
다음 예제에서는 데이터 분할 구성 요소의 상대 식 옵션을 사용하여 데이터 세트를 나누는 방법을 보여 줍니다.
역년
일반적인 시나리오는 데이터 세트를 연도별로 나누는 것입니다. 다음 식은 Year 열의 값이 2010보다 큰 모든 행을 선택합니다.
\"Year" > 2010
날짜 식은 데이터 열에 포함된 모든 날짜 부분을 고려해야 합니다. 데이터 열의 날짜 형식은 일치해야 합니다.
예를 들어 형식 mmddyyyy을 사용하는 날짜 열에서 식은 다음과 같아야 합니다.
\"Date" > 1/1/2010
열 인덱스
다음 식에서는 열 인덱스를 사용하여 30보다 작거나 같지만 20이 아닌 값을 포함하는 데이터 세트의 첫 번째 열에서 모든 행을 선택하는 방법을 보여 줍니다.
(\0)<=30 & !=20
다음 단계
Azure Machine Learning에서 사용 가능한 구성 요소 집합을 참조하세요.