데이터 세트의 열 선택

연산에서 포함하거나 제외할 데이터 집합의 열 선택

범주: 데이터 변환/조작

참고

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

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

모듈 개요

이 문서에서는 Azure Machine Learning Studio (클래식)의 데이터 집합에서 열 선택 모듈을 사용 하 여 다운스트림 작업에서 사용할 열 하위 집합을 선택 하는 방법을 설명 합니다. 모듈은 원본 데이터 집합에서 열을 물리적으로 제거 하지 않습니다. 대신 데이터베이스 뷰나 프로젝션 과 매우 비슷하게 열의 하위 집합을 만듭니다.

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

데이터 집합의 열은 다른 순서로 지정 하는 경우에도 원래 데이터와 동일한 순서로 출력 됩니다.

데이터 집합에서 열 선택 사용 방법

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

이름으로 열 선택

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

  • 필터 및 검색

    이름 옵션을 클릭 합니다.

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

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

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

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

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

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

    WITH RULES 옵션을 클릭 합니다.

    특정 데이터 형식의 열을 표시 하는 것과 같은 규칙을 선택 합니다.

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

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

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

    1. WITH RULES 옵션을 클릭 합니다.
    2. 열 없음 을 선택 하 고 포함 을 선택한 다음 빨간색 느낌표가 있는 입력란 내부를 클릭 합니다.
    3. 이전에 유효성이 검사 된 열 이름의 쉼표로 구분 된 목록을 입력 하거나 입력 합니다. 열에 잘못 된 이름이 있는 경우 모듈을 저장할 수 없으므로 이름을 미리 확인 해야 합니다.

    또한이 메서드를 사용 하 여 인덱스 값을 사용 하 여 열 목록을 지정할 수 있습니다. 열 인덱스로 작업 하는 방법에 대 한 팁은 섹션을 참조 하세요.

유형별 선택

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

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

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

    예를 들어 모든 열로 시작한 다음 이름을 기준으로 또는 형식을 사용 하 여 열을 제거할 수 있습니다.

  • 열 없음 옵션을 선택 하면 열 목록이 비어 있게 됩니다. 그런 다음 목록에 열을 추가 하는 조건을 지정 합니다.

    여러 규칙을 적용 하는 경우 각 조건은 추가 됩니다. 예를 들어 열 없이 시작 하 고 모든 숫자 열을 가져오는 규칙을 추가 한다고 가정 합니다. 자동차 가격 데이터 집합에서 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

예제

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

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

다음 예에서는 사용자가 machine learning에서 데이터 집합의 열을 선택 하는 일반적인 방법에 대해 설명 하 고 열을 선택 하는 방법에 대 한 몇 가지 팁을 제공 합니다.

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

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

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

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

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

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

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

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

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

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

    2. 시작 날짜에서 열 없음 을 선택 합니다.

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

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

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

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

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

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

    2. 시작 날짜에서 열 없음 을 선택 합니다.

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

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

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

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

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

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

    2. 시작 날짜에서 열 없음 을 선택 합니다.

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

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

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

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

  • 필요한 열에 대 한 인덱스 값을 알 수 없습니다.

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

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

    • 마지막 열의 인덱스를 가져오려면 열 선택기의 두 열 (사용 가능한 열 및 선택한 열) 목록을 확인 합니다. 열 목록 아래의 회색 막대에는 각 목록의 열 수가 표시 됩니다. 따라서 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 문과 같이 테이블 형식의 데이터를 입력으로 사용 하 고 관련 출력을 생성 하는 Transact-sql 또는 LINQ 문과 같은 함수입니다.

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

예상 입력

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

모듈 매개 변수

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

출력

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

예외

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

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

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

참고 항목

조작