데이터 세트의 열 선택

중요

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(클래식)의 데이터 세트 모듈에서 열 선택 모듈을 사용하여 다운스트림 작업에서 사용할 열의 하위 집합을 선택하는 방법을 설명합니다. 이 모듈은 원본 데이터 세트에서 열을 물리적으로 제거하지 않습니다. 대신, 데이터베이스 ‘뷰’ 또는 ‘프로젝션’과 유사하게 열 하위 집합을 만듭니다.

이 모듈은 다운스트림 작업에 사용할 수 있는 열을 제한해야 하거나 불필요한 열을 제거하여 데이터 세트의 크기를 줄이려는 경우에 특히 유용합니다.

데이터 세트의 열은 지정한 순서에 관계없이 원래 데이터와 동일한 순서로 출력됩니다.

데이터 세트에서 열 선택 사용 방법

이 모듈에는 매개 변수가 없습니다. 열 선택기를 사용하여 포함하거나 제외할 열을 선택합니다.

이름으로 열 선택

이 모듈에는 이름으로 열을 선택하기 위한 여러 옵션이 있습니다.

  • 필터링 및 검색

    이름별 옵션을 클릭합니다.

    이미 채워진 데이터 세트를 연결한 경우 사용 가능한 열 목록이 표시됩니다. 열이 표시되지 않으면 업스트림 모듈을 실행하여 열 목록을 확인해야 할 수도 있습니다.

    목록을 필터링하려면 검색 상자에 입력합니다. 예를 들어 검색 상자에 w 문자를 입력하면 w 문자가 포함된 열 이름을 표시하도록 목록이 필터링됩니다.

    열을 선택하고 오른쪽 화살표 단추를 클릭하여 선택한 열을 오른쪽 창의 목록으로 이동합니다.

    • 연속 범위의 열 이름을 선택하려면 Shift+클릭을 누릅니다.
    • 선택 영역에 개별 열을 추가하려면 Ctrl+클릭을 누릅니다.

    확인 표시 단추를 클릭하여 저장하고 닫습니다.

  • 다른 규칙과 함께 이름 사용

    규칙 사용 옵션을 클릭합니다.

    특정 데이터 형식의 열 표시 등의 규칙을 선택합니다.

    그런 다음 해당 형식의 개별 열을 이름으로 클릭하여 선택 목록에 추가합니다.

  • 쉼표로 구분된 열 이름 목록을 입력하거나 붙여넣습니다.

    데이터 세트가 매우 넓은 경우 열을 개별적으로 선택하는 대신 인덱스 또는 생성된 이름 목록을 사용하는 것이 더 쉬울 수 있습니다. 목록을 미리 준비했다고 가정합니다.

    1. 규칙 사용 옵션을 클릭합니다.
    2. 열 없음, 포함을 차례로 선택한 다음, 빨간색 느낌표가 있는 텍스트 상자 안을 클릭합니다.
    3. 이전에 유효성이 검사된 열 이름의 쉼표로 구분된 목록을 붙여넣거나 입력합니다. 열에 잘못된 이름이 있는 경우 모듈을 저장할 수 없으므로 이름을 미리 검사해야 합니다.

    이 방법을 사용하여 인덱스 값으로 열 목록을 지정할 수도 있습니다. 열 인덱스를 사용하는 방법에 대한 팁은 예제 섹션을 참조하세요.

형식으로 선택

규칙 사용 옵션을 사용하는 경우 선택한 열에 여러 조건을 적용할 수 있습니다. 예를 들어 숫자 데이터 형식의 기능 열만 가져와야 할 수 있습니다.

BEGIN WITH 옵션은 시작점을 결정하며 결과를 이해하는 데 매우 중요합니다.

  • 모든 열 옵션을 선택하면 모든 열이 목록에 추가됩니다. 그런 다음 제외 옵션을 사용하여 특정 조건에 맞는 열을 ‘제거’해야 합니다.

    예를 들어 모든 열로 시작한 다음, 이름이나 형식으로 열을 제거할 수 있습니다.

  • 열 없음 옵션을 선택하면 열 목록이 빈 상태로 시작됩니다. 그런 다음 목록에 열을 ‘추가’하는 조건을 지정합니다.

    여러 규칙을 적용하는 경우 각 조건이 가산됩니다. 예를 들어 열 없이 시작한 다음, 모든 숫자 열을 가져오는 규칙을 추가한다고 가정합니다. 이 경우 자동차 가격 데이터 세트에 16개의 열이 생성됩니다. 그런 다음, 기호를 + 클릭하여 새 조건을 추가하고 모든 기능 포함을 선택합니다. 결과 데이터 세트에는 일부 문자열 기능 열을 포함하여 모든 숫자 열과 모든 기능 열이 포함됩니다.

열 인덱스로 선택

열 인덱스는 원래 데이터 세트 내의 열 순서를 참조합니다.

  • 열은 1부터 시작하여 순차적으로 번호가 매겨집니다.
  • 열 범위를 가져오려면 하이픈을 사용합니다.
  • 1- 또는 -3과 같은 개방형 사양은 허용되지 않습니다.
  • 중복된 인덱스 값(또는 열 이름)은 허용되지 않으며 오류가 발생할 수 있습니다.

예를 들어 데이터 세트에 열이 8개 이상 있다고 가정할 경우 다음 예제 중 하나를 붙여넣어 연속하지 않는 여러 열을 반환할 수 있습니다.

  • 8,1-4,6
  • 1,3-8
  • 1,3-6,4

최종 예제에서는 오류가 발생하지 않지만 4 열의 단일 인스턴스가 반환됩니다.

열 인덱스 작업에 대한 추가 팁은 예제 섹션을 참조하세요.

열 순서 변경

선택 영역에서 중복 허용 및 열 순서 유지 옵션은 빈 목록으로 시작하고 이름 또는 인덱스로 지정한 열을 추가합니다. 항상 “자연스러운 순서”로 열을 반환하는 다른 옵션과 달리 이 옵션은 이름이 지정되거나 나열된 순서로 열을 출력합니다.

예를 들어 Col1, Col2, Col3, Col4 열이 포함된 데이터 세트에서 다음 목록 중 하나를 지정하여 열의 순서를 반대로 바꾸고 열 2를 제거할 수 있습니다.

  • Col4, Col3, Col1
  • 4,3,1

데이터 세트에서 열 선택을 사용하는 방법에 대한 예제는 모델 갤러리에서 다음 샘플 실험을 참조하세요.

열 선택에 대한 일반적인 시나리오

다음 예제에서는 사용자가 기계 학습 에서 데이터 세트의 Select Columns 를 적용하는 몇 가지 일반적인 방법을 설명하고 열을 선택하는 방법에 대한 몇 가지 팁을 제공합니다.

  • 모든 숫자 열에 수학 연산을 적용할 수 있도록 데이터 세트에서 텍스트 열을 제거하려고 합니다.

    많은 작업을 수행하려면 데이터 세트에 숫자 열만 있어야 합니다. 텍스트를 제외하고 범주 열(불연속 범주를 나타내는 숫자)을 제외하여 오류를 발생시키는 열을 일시적으로 제거할 수 있습니다.

    1. 열 선택기 시작을 클릭합니다.

    2. 시작 시모든 열을 선택합니다.

    3. 제외 옵션을 선택하고 열 형식을 선택한 다음 문자열을 선택합니다.

    4. 더하기 기호(+)를 클릭하여 새 조건을 추가합니다.

    5. 제외 옵션을 선택하고 열 형식을 선택한 다음 범주를 선택합니다.

  • 범주 기능 열에만 기능 선택을 적용해야 합니다.

    비슷한 형식의 열을 구분해야 하는 경우 여러 조건을 적용할 수 있습니다. 예를 들어 기능은 범주 또는 숫자일 수 있지만 일부 기능 선택 모듈에서는 숫자가 아닌 필드를 허용하지 않으므로 먼저 기능을 가져와서 숫자 기능만 가져오는 조건을 추가해야 합니다.

    1. 열 선택기 시작을 클릭합니다.

    2. 시작 시열 없음을 선택합니다.

    3. 포함 옵션을 선택하고 모든 기능을 선택합니다.

    4. 더하기 기호(+)를 클릭하여 새 조건을 추가합니다.

    5. 포함 옵션을 선택하고 열 형식을 선택한 다음 범주를 선택합니다.

  • 다른 정규화 작업을 다른 숫자 열에 적용해야 합니다.

    수학 연산을 적용하기 전에 정수를 부동 소수점 숫자 등과 구분해야 할 수 있습니다. 이렇게 하려면 데이터 형식을 사용하고 여러 조건을 적용합니다.

    1. 열 선택기 시작을 클릭합니다.

    2. 시작 시열 없음을 선택합니다.

    3. 포함 옵션을 선택하고 열 형식을 선택한 다음 숫자를 선택합니다.

    4. 더하기 기호(+)를 클릭하여 새 조건을 추가합니다.

    5. 포함 옵션을 선택하고 열 형식을 선택한 다음 다운스트림 작업과 호환되지 않는 숫자 형식을 선택합니다.

  • 선택기를 사용하여 선택할 수 있는 열이 너무 많습니다.

    데이터 세트를 가져온 후에 모델링에 필요하지 않은 많은 열이 있는 경우가 많습니다. 그러나 나중에 출력하거나 사례를 식별하기 위해 유지하려고 합니다. 데이터 세트를 두 부분(메타데이터 및 모델링에 사용되는 열)으로 분할하고 나중에 필요에 따라 열 추가를 사용하여 열을 다시 조합하여 이 작업을 수행할 수 있습니다.

    1. 열 선택기 시작을 클릭합니다.

    2. 시작 시열 없음을 선택합니다.

    3. [포함] 옵션을 선택하고 열 형식을 선택한 다음 [기능]을 선택합니다.

    4. 더하기 기호(+)를 클릭하여 새 조건을 추가합니다.

    5. 포함 옵션을 선택하고 열 유형을 선택한 다음 레이블을 선택합니다.

    6. 이러한 단계를 반복하지만 모든 열로 시작한 다음 기능 및 레이블 열을 제외하여 메타데이터의 데이터 세트만 만듭니다.

  • 필요한 열의 인덱스 값을 모릅니다.

    데이터 세트에 열이 몇 개뿐인 경우 시각화 옵션을 사용하여 처음 100개 행을 표시한 다음, 인덱스 1, 2 등의 열을 파악할 수 있습니다.

    • Machine Learning 인덱스는 1부터 시작하므로 첫 번째 열은 항상 1입니다.

    • 마지막 열의 인덱스를 얻으려면 열 선택기에서 사용 가능한 열과 SELECTED COLUMNS의 두 열 목록을 확인합니다. 열 목록 아래의 회색 막대에는 각 목록의 열 수가 표시됩니다. 따라서 24개의 열을 사용할 수 있고 두 개의 열을 선택하면 총 26개의 열이 있고 최종 열의 인덱스는 26개입니다.

    데이터 세트의 스키마를 추출하는 또 다른 옵션은 R 스크립트 실행 모듈을 사용하여 인덱스 번호가 있는 열 이름을 가져오는 것입니다.

    1. 데이터 세트를 R 스크립트 실행 모듈에 커넥트.

    2. 모듈에서 다음과 같은 스크립트를 입력하여 열 이름을 출력합니다. 로 시작하는 myindex 줄은 순서대로 인덱스를 나타내는 시퀀스를 생성합니다.

      dataset1 <- maml.mapInputPort(1) # class: data.frame
      mycolnames <-names(dataset1);
      myindex <- seq(from = 1, to = length(mycolnames), by=1);
      outdata <- as.data.frame(cbind(myindex, mycolnames));
      maml.mapOutputPort("outdata"); 
      

    자동차 가격 데이터 세트의 결과

    myindex mycolnames
    1 symboling(수치 변환 값)
    2 정규화된 손실
    3 make

기술 정보

관계형 데이터베이스에 익숙한 경우 이 모듈은 데이터의 프로젝션을 만듭니다. 따라서 원래 이름, Project 열입니다. 데이터베이스 측면에서 프로젝션은 Transact-SQL 또는 LINQ 문과 같은 함수로, 테이블 형식의 데이터를 입력으로 사용하고 관련 출력을 생성합니다.

관계형 대수에서 프로젝션은 특성 이름 집합으로 작성된 단항 연산입니다. 프로젝션의 결과는 다른 특성이 삭제된 해당 특성의 집합입니다.

예상 입력

Name 유형 설명
데이터 세트 데이터 테이블 입력 데이터 세트

모듈 매개 변수

Name 범위 Type 기본값 설명
열 선택 any ColumnSelection 프로젝션된 데이터 집합에 유지할 열을 선택합니다.

출력

Name 유형 설명
결과 데이터 집합 데이터 테이블 출력 데이터 세트

예외

예외 설명
오류 0001 지정한 데이터 집합 열 중 하나 이상을 찾을 수 없으면 예외가 발생합니다.
오류 0003 입력 데이터 집합 중 하나 이상이 null이거나 비어 있으면 예외가 발생합니다.

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

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

참고 항목

조작