다음을 통해 공유


Bin으로 데이터 그룹화

중요

Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.

2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.

ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.

bin에 숫자 데이터 넣기

범주: 크기 조정 및 축소

참고

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

유사한 끌어서 놓기 모듈은 Azure Machine Learning 디자이너에서 사용할 수 있습니다.

모듈 개요

이 문서에서는 그룹 데이터를 Machine Learning Studio(클래식)의 Bins 모듈로 사용하여 숫자를 그룹화하거나 연속 데이터의 배포를 변경하는 방법을 설명합니다.

Bin으로 데이터 그룹화 모듈은 데이터를 범주화하기 위한 여러 옵션을 지원합니다. bin 에지가 설정되는 방법과 값이 bin에 할당되는 방법을 사용자 지정할 수 있습니다. 예를 들어, 다음을 수행할 수 있습니다.

  • bin 경계로 사용할 일련의 값을 수동으로 입력합니다.
  • 엔트로피 점수를 계산하여 각 범위에 대한 정보 값을 결정하여 예측 모델의 bin을 최적화합니다. + 분위수 또는 백분위수 순위를 사용하여 bin에 값을 할당합니다.
  • 각 bin의 값 수를 제어할 수도 있습니다.
  • 값의 짝수 배포를 bin으로 강제합니다.

범주화 및 그룹화에 대한 자세한 정보

데이터 비닝 또는 그룹화(양자화라고도 함)는 기계 학습을 위해 숫자 데이터를 준비하는 데 중요한 도구이며 다음과 같은 시나리오에서 유용합니다.

  • 연속 숫자 열에는 효율적으로 모델링할 수 있는 고유한 값이 너무 많으므로 그룹에 값을 자동 또는 수동으로 할당하여 더 작은 세트의 불연속 범위를 만듭니다.

    예를 들어 그룹 데이터에서 생성된 엔트로피 점수를 Bin으로 사용하여 데이터 값의 최적 그룹을 식별하고 해당 그룹을 모델의 기능으로 사용할 수 있습니다.

  • 숫자 열을 특정 범위를 나타내는 범주 값으로 바꿉니다.

    예를 들어 사용자 인구 통계에 대해 사용자 지정 범위(예: 1-15, 16-22, 23-30 등)를 지정하여 나이 열의 값을 그룹화할 수 있습니다.

  • 데이터 세트는 예상 범위를 크게 벗어난 몇 가지 극단값을 가지며, 이러한 값은 학습된 모델에 큰 영향을 줍니다. 모델의 바이어스 완화를 위해 분위수(또는 같은 높이) 메서드를 사용하여 데이터를 균일한 분포로 변환할 수 있습니다.

    이 메서드를 사용하여 Bin으로 데이터 그룹화 모듈은 대략 동일한 개수의 샘플이 각 bin에 포함되도록 이상적인 bin 위치 및 bin 너비를 결정합니다. 그런 다음, 선택하는 정규화 방법에 따라 bin의 값이 백분위수로 변환되거나 bin 번호에 매핑됩니다.

범주화 예제

다음 다이어그램에서는 분위수 메서드를 사용하여 범주화 전후에 숫자 값의 배포를 보여 줍니다. 왼쪽에 있는 원시 데이터와 비교했을 때 데이터를 범주화하고 단위-일반 비율로 변환했습니다.

raw data and data binned and normalized

binning에 또 다른 접근은 각 단이 환자의 동등한 수를 가지고 있다는 것을 보장하기 위하여 Bins에 그룹 데이터가 각종 통제 및 시험 단에 환자를 할당하기 위하여 이용되는 유방암 탐지 견본에서 설명됩니다.

데이터를 그룹화하는 방법에는 여러 가지가 있으므로 모든 사용자 지정이 가능하므로 다른 메서드 및 값을 사용하여 시험해 보는 것이 좋습니다. 예제 섹션에는 다양한 범주화 알고리즘을 사용하는 방법을 보여 주는 샘플 실험에 대한 링크가 포함되어 있습니다.

Bin으로 데이터 그룹화를 구성하는 방법

  1. Studio(클래식)에서 실험에 그룹 데이터 인 Bins 모듈을 추가합니다. 이 모듈은 크기 조정 및 축소의 데이터 변환 범주에서 찾을 수 있습니다.

  2. 숫자 데이터를 포함하는 데이터 세트를 bin에 연결합니다. 양자화는 숫자 데이터를 포함하는 열에만 적용할 수 있습니다.

    데이터 세트에 숫자가 아닌 열이 포함된 경우 데이터 세트에서 열 선택 모듈을 사용하여 작업할 열의 하위 집합을 선택합니다.

  3. 범주화 모드를 지정합니다. 범주화 모드는 다른 매개 변수를 결정하므로 먼저 범주화 모드 옵션을 선택해야 합니다. 지원되는 범주화 유형은 다음과 같습니다.

    Entropy MDL: 이 메서드를 사용하려면 예측하려는 열과 bin으로 그룹화하려는 열 또는 열을 선택해야 합니다. 그런 다음 데이터를 전달하고 엔트로피를 최소화하는 bin 수를 확인하려고 시도합니다. 즉, 데이터 열이 대상 열을 가장 잘 예측할 수 있는 여러 bin을 선택합니다. 그런 다음, 명명 <colname>quantized된 열에서 데이터의 각 행과 연결된 bin 번호를 반환합니다.

    Entropy MDL 메서드가 처음에 데이터를 범주화하여 좋은 예측을 수행하는 방법을 찾을 수 없는 경우 모든 데이터를 균일한 bin에 할당합니다. 그렇다고 해서 열이 좋은 예측자가 아님을 의미하지는 않습니다. 이 경우 다른 메서드를 사용하여 엔트로피를 최소화하는 bin 수를 찾고 데이터를 더 나은 예측자로 만들 수 있습니다.

    이 메서드는 실제 엔트로피 점수를 반환하지 않습니다.

    분위수: 분위수 메서드는 백분위수 순위에 따라 bin에 값을 할당합니다. 분위수는 같은 높이 범주화라고도 합니다.

    같은 너비: 이 옵션을 사용하여 총 bin 수를 지정해야 합니다. 데이터 열의 값은 각 bin에서 시작 값과 끝 값 사이에 동일한 간격을 갖도록 bin에 배치됩니다. 결과적으로 데이터가 특정 지점을 중심으로 모여 있는 경우 일부 bin에 더 많은 값이 있을 수 있습니다.

    사용자 지정 에지: 각 bin을 시작하는 값을 지정할 수 있습니다. 에지 값은 항상 bin의 하한입니다. 예를 들어 값을 두 개의 bin(하나는 0보다 큰 값, 하나는 0보다 작거나 같은 값)으로 그룹화한다고 가정합니다. 이 경우 bin 에지의 경우 쉼표로 구분된 bin 가장자리 목록에 0을 입력합니다. 모듈의 출력은 1과 2이며, 각 행 값의 bin 인덱스를 나타냅니다.

    사용자 지정 시작 및 중지를 사용한 너비 같음: 이 메서드는 너비 같 음 옵션과 비슷하지만 아래쪽 및 위쪽 빈 경계를 모두 지정할 수 있습니다.

  4. bin 수: Entropy MDL, QuantilesEqual Width 범주화 모드를 사용하는 경우 이 옵션을 사용하여 만들려는 bin 수 또는 분위수를 지정합니다.

  5. bin으로 설정할 열의 경우 열 선택기를 사용하여 범주화할 값이 있는 열을 선택합니다. 열은 숫자 데이터 형식이어야 합니다.

    선택한 모든 해당 열에 동일한 범주화 규칙이 적용됩니다. 따라서 다른 메서드를 사용하여 일부 열을 범주화해야 하는 경우 각 열 세트에 개별 Bin으로 데이터 그룹화 인스턴스를 사용합니다.

    경고

    허용되는 유형이 아닌 열을 선택하면 런타임 오류가 발생합니다. 모듈은 허용되지 않는 형식의 열을 찾는 즉시 오류를 반환합니다. 오류가 발생하면 선택한 모든 열을 검토합니다. 오류에 잘못된 열이 모두 나열되지 않습니다.

  6. 출력 모드의 경우 양자화 값을 출력하려는 방법을 지정합니다.

    • 추가: 범주화된 값이 있는 새 열을 만들고 이 열을 입력 테이블에 추가합니다.

    • Inplace: 데이터 세트의 새 값으로 원본 값을 대체합니다.

    • ResultOnly: 결과 열만 반환합니다.

  7. 분위수 범주화 모드를 선택하는 경우 분위수 정규화 옵션을 사용하여 분위수로 정렬하기 전에 값을 정규화하는 방법을 결정합니다. 값을 정규화하면 값이 변환되지만 최종 bin 수는 영향을 주지 않습니다. 예를 들어 다른 정규화 메서드의 효과를 참조하세요.

    지원되는 정규화 형식은 다음과 같습니다.

    • 백분율: 값은 [0,100] 범위 내에서 정규화

    • PQuantile: 값은 [0,1] 범위 내에서 정규화

    • QuantileIndex: 값은 [1,bin 수] 범위 내에서 정규화됩니다.

  8. 사용자 지정 에지 옵션을 선택하는 경우 + 쉼표로 구분된 bin 에지 목록 텍스트 상자에 bin 에지로 사용할 쉼표로 구분된 숫자 목록을 입력합니다. 값은 bin을 나누는 지점을 표시합니다. 따라서 하나의 bin 에지 값을 입력하는 경우 두 개의 bin이 생성됩니다. 두 개의 bin 에지 값을 입력하는 경우 세 개의 bin이 생성됩니다.

    bin이 생성되는 순서대로 오름차순으로 값을 정렬해야 합니다.

  9. 사용자 지정 시작 및 중지를 사용하여 너비 같음 옵션을 사용하는 경우 bin의 경계를 지정해야 합니다.

    첫 번째 가장자리 위치 텍스트 상자에 값을 입력하여 첫 번째 bin의 아래쪽 경계를 정의합니다.

    마지막 가장자리 위치 텍스트 상자에 값을 입력하여 마지막 bin의 아래쪽 경계를 정의합니다.

  10. 열을 범주로 태그 지정: 범주화된 값의 열에 메타데이터 플래그를 자동으로 추가하려면 이 옵션을 선택합니다. 메타데이터 플래그는 정량화된 열을 범주 변수로 처리해야 임을 나타냅니다.

  11. 실험을 실행하거나 이 모듈을 선택하고 선택한 실행을 클릭합니다.

결과

Bin으로 데이터 그룹화 모듈은 각 요소가 지정된 모드에 따라 범주화된 데이터 세트를 반환합니다.

동일한 범주화 모드와 매개 변수를 사용하여 새로운 데이터 샘플을 범주화하기 위해 변환 적용 모듈에 전달할 수 있는 함수인 변환 범주화도 반환합니다.

binning 메서드가 예측 변수로 얼마나 잘 작동하는지 확인하려면 그룹 데이터에서 Bin으로의 데이터 세트 출력을 클릭하고 레이블 열을 범주화된 열과 비교할 수 있습니다. bin으로의 그룹화가 예측 가능한 경우 탭 간 행렬의 값은 몇 개의 셀에 집중해야 합니다.

학습 데이터에 대해 범주화를 사용하는 경우 테스트 및 예측에 사용하는 데이터에 대해 동일한 범주화 메서드를 사용해야 합니다. 여기에는 범주화 메서드, bin 위치 및 bin 너비가 포함됩니다.

항상 동일한 범주화 메서드를 사용하여 데이터가 변환되도록 하려면 변환 적용 모듈을 사용하여 유용한 데이터 변환을 저장한 다음, 다른 데이터 세트에 적용하는 것이 좋습니다.

기계 학습 시나리오에서 양자화가 적용되는 방법의 예는 Azure AI 갤러리를 참조하세요.

  • 유방암 탐지: 이 샘플에서 범주화는 환자 ID 필드를 사용하여 환자를 동등한 그룹으로 나누는 데 사용됩니다.
  • 비행 지연 예측: 분위수 정규화를 사용하여 사례를 10개의 bin으로 정렬합니다.
  • Twitter 감정 분석: 점수는 순위 점수를 나타내는 5개의 bin으로 그룹화됩니다.

기술 정보

이 섹션에는 구현 정보, 팁, 질문과 대답이 포함되어 있습니다.

다른 정규화 방법의 효과

옵션인 양자 정규화를 선택하면 범주화 전에 값이 변환됩니다. 따라서 정규화를 위해 선택하는 메서드는 숫자 값에 강력한 영향을 미칩니다.

예를 들어 다음 표에서는 망원경 데이터 세트에서 단일 열fLength의 값이 각 정규화 방법으로 변환되는 방법을 보여 줍니다. 열 fLength은 각 옵션의 출력 값을 표시하기 위해 임의로 선택되었으며 정규 분포가 없습니다.

원본(fLength) pQuantile QuantileIndex 백분율
28.7967 0.363636 4 36.363636
31.6036 0.454545 5 45.454545
162.052 0.909091 10 90.909091
23.8172 0.272727 3 27.272727

범주화 결과는 각 메서드에 대해 유사합니다.

다음 그래픽에서는 기본값인 10 bin을 사용하여 범주화 전후 열의 값 분포를 보여 줍니다.

Comparison of Normalization Methods for Binning

구현 세부 정보

  • 양자화 중에 각 숫자는 bin 에지 값과 해당 값을 비교하여 bin에 매핑됩니다.

    예를 들어 값이 1.5이고 bin 가장자리가 1, 2, 3이면 요소가 bin 번호 2에 매핑됩니다. 값 0.5는 bin 번호 1(언더플로 bin)에 매핑되고 값 3.5는 bin 번호 4(오버플로 bin)에 매핑됩니다.

  • 범주화(양자화)할 열이 스파스 열이면 결과 열을 채울 때 bin 인덱스 오프셋(변위치 오프셋)이 사용됩니다. 스파스 0이 항상 인덱스가 0(즉, 값이 0인 변위치)인 bin으로 이동하도록 오프셋을 선택합니다.

  • 스파스 0은 입력에서 출력 열로 전파됩니다.

  • 밀도가 높은 열을 처리하면 항상 최소 bin 인덱스가 1인 결과가 생성됩니다. 즉, 최소 변위치 값이 열의 최소값과 같습니다. 동시에 스파스 열을 처리하면 가변 최소 bin 인덱스(최소 분위수 값)가 있는 결과가 생성됩니다.

  • 모든 NaN 및 누락 값이 입력 열에서 출력 열로 전파됩니다. 예외는 모듈이 변위치 인덱스를 반환하는 경우뿐입니다. 이 경우에는 모든 NaN이 누락 값으로 승격됩니다.

  • Bin 인덱스는 1부터 시작됩니다. 이는 변위치에 대한 자연스러운 규칙입니다(첫 번째 변위치, 두 번째 변위치...). 예외는 bin으로 설정할 열이 스파스 열인 경우뿐입니다.

예상 입력

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

모듈 매개 변수

Name 범위 Type 기본값 Description
bin 설정 모드 목록 QuantizationMode 분위수 bin 설정 방법을 선택합니다.
bin으로 설정할 열 any ColumnSelection NumericAll 양자화할 열을 선택합니다.
출력 모드 any OutputTo 양자화된 열을 출력할 방법을 나타냅니다.
열을 범주로 태그 지정 any 부울 true 출력 열에 범주로 태그를 지정해야 하는지 여부를 나타냅니다.
bin의 수 >=1 정수 10 원하는 bin의 수를 지정합니다.
변위치 정규화 any BinningNormalization 변위치를 정규화할 방법을 선택합니다.
첫 번째 에지 위치 any Float 0.0 첫 번째 bin 에지의 값을 지정합니다.
bin 너비 any Float 0.5 사용자 지정 bin 너비를 지정합니다.
마지막 에지 위치 any Float 1.0 마지막 bin 에지의 값을 지정합니다.
쉼표로 구분된 bin 에지 목록 any String bin 에지로 사용할 쉼표로 구분된 숫자 목록을 입력합니다.

출력

Name Type Description
양자화된 데이터 집합 데이터 테이블 양자화된 열을 포함하는 데이터 집합입니다.
bin 설정 변환 ITransform 인터페이스 데이터 집합에 양자화를 적용하는 변환입니다.

예외

예외 설명
오류 0003 하나 이상의 입력이 null이거나 비어 있으면 예외가 발생합니다.
오류 0004 매개 변수가 특정 값 이하이면 예외가 발생합니다.
오류 0011 전달된 열 집합 인수가 데이트 세트 열에 적용되지 않으면 예외가 발생합니다.
오류 0021 모듈에 전달된 데이터 세트 중 일부의 행 수가 너무 적으면 예외가 발생합니다.
오류 0024 데이터 세트에 레이블 열이 없으면 예외가 발생합니다.
오류 0020 모듈에 전달된 데이터 세트 중 일부의 열 수가 너무 적으면 예외가 발생합니다.
오류 0038 필요한 요소 수가 정확한 값이어야 하는데 그렇지 않으면 예외가 발생합니다.
오류 0005 매개 변수가 특정 값보다 작으면 예외가 발생합니다.
오류 0002 하나 이상의 매개 변수를 구문 분석할 수 없거나 지정한 형식에서 대상 방법 유형에 필요한 형식으로 변환할 수 없으면 예외가 발생합니다.
오류 0019 열이 정렬된 값을 포함해야 하는데 그렇지 않으면 예외가 발생합니다.
오류 0039 작업이 실패하면 예외가 발생합니다.
오류 0075 데이터 세트를 양자화할 때 잘못된 범주화 함수를 사용하면 예외가 발생합니다.

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

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

추가 정보

확장 및 축소
데이터 정규화
값 잘라내기