Share via


누락 데이터 정리

중요

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(클래식)에서 누락된 데이터 정리 모듈을 사용하여 누락된 값을 제거, 바꾸기 또는 유추하는 방법을 설명합니다.

데이터 과학자는 데이터에서 누락 값을 확인하고 다양한 작업을 수행하여 데이터를 수정하거나 새 값을 삽입하는 경우가 많습니다. 정리 작업의 목표는 모델을 학습할 때 발생할 수 있는 누락 데이터로 인한 문제를 방지하는 것입니다.

이 모듈은 다음을 포함하여 누락된 값을 "정리"하는 여러 유형의 작업을 지원합니다.

  • 누락 값을 자리 표시자, 평균 또는 다른 값으로 바꾸기
  • 누락 값이 있는 행과 열을 완전히 제거
  • 통계 방법에 따라 값 유추

기계 학습을 새로운 기능으로 사용하시겠습니까? 이 문서에서는 누락된 값을 바꾸기 위해 각기 다른 메서드인 누락된 값을 처리하는 메서드를 사용하는 이유를 잘 설명합니다.

이 모듈을 사용하는 경우 원본 데이터 세트는 변경되지 않습니다. 대신, 후속 워크플로에서 사용할 수 있는 새 데이터 세트가 작업 영역에 생성됩니다. 재사용하기 위해 새로 정리된 데이터 세트를 저장할 수도 있습니다.

이 모듈에서는 누락 값을 정리하는 데 사용된 변환의 정의도 출력합니다. 변환 적용 모듈을 사용하여 동일한 스키마를 가진 다른 데이터 세트에서 이 변환을 재사용할 수 있습니다.

누락 데이터 정리를 사용하는 방법

이 모듈을 사용하여 정리 작업을 정의할 수 있습니다. 나중에 새 데이터에 적용할 수 있도록 정리 작업을 저장할 수도 있습니다. 정리 프로세스를 만들고 저장하는 방법에 대한 설명은 다음 링크를 참조하세요.

중요

누락 값을 처리하는 데 사용하는 정리 방법은 결과에 크게 영향을 줄 수 있습니다. 다양한 방법으로 실험하는 것이 좋습니다. 특정 방법을 사용해야 하는 사유와 결과의 품질을 모두 고려합니다.

누락된 값 대체

누락된 데이터 정리 모듈을 데이터 집합에 적용할 때마다 선택한 모든 열에 동일한 정리 작업이 적용됩니다. 따라서 각 열을 다른 방법으로 정리해야 하는 경우 모듈의 개별 인스턴스를 사용합니다.

  1. 누락된 데이터 정리 모듈을 실험에 추가하고 누락된 값이 있는 데이터 세트를 연결합니다.

  2. 정리할 열에서 변경할 누락 값이 포함된 열을 선택합니다. 여러 열을 선택할 수 있지만 선택한 모든 열에서 동일한 대체 방법을 사용해야 합니다. 따라서 일반적으로 문자열 열과 숫자 열은 개별적으로 정리해야 합니다.

    예를 들어 모든 숫자 열에서 누락 값을 확인하려면 다음을 수행합니다.

    1. 열 선택기를 열고 WITH RULES를 선택합니다.

    2. BEGIN WITH의 경우 열 없음을 선택합니다.

      ALL COLUMNS로 시작한 다음 열을 제외할 수도 있습니다. 처음에는 모든 열을 처음 클릭하면 규칙이 표시되지 않지만 열 없음 을 클릭한 다음 모든 열을 다시 클릭하여 모든 열로 시작한 다음 이름, 데이터 형식 또는 열 인덱스에 따라 열을 필터링(제외)할 수 있습니다.

    3. 포함의 경우 드롭다운 목록에서 열 형식을 선택한 다음 숫자 또는 보다 구체적인 숫자 형식을 선택합니다.

    선택한 정리 또는 대체 방법이 선택한 모든 열에 적용할 수 있는 방법이어야 합니다. 열의 데이터가 지정된 작업과 호환되지 않는 경우 모듈은 오류를 반환하고 실험을 중지합니다.

  3. 최소 누락 값 비율에서 작업을 수행하는 데 필요한 최소 누락 값 수를 지정합니다.

    이 옵션과 최대 누락 값 비율을 함께 사용하여 데이터 세트에서 정리 작업이 수행되는 조건을 정의합니다. 누락 값이 있는 행이 너무 많거나 너무 적으면 작업을 수행할 수 없습니다.

    입력한 숫자는 열의 모든 값 대비 누락 값의 비율을 나타냅니다. 기본적으로 최소 누락 값 비율 속성은 0으로 설정되어 있습니다. 즉, 누락 값이 하나만 있어도 누락 값이 정리됩니다. 이 옵션을 사용하는 방법의 예는 정리 작업에 대한 임계값 설정을 참조하세요.

    경고

    지정된 작업을 적용하려면 모든 열이 이 조건을 충족해야 합니다. 예를 들어 세 개의 열을 선택하고 최소 누락 값 비율을 .2(20%)로 설정했지만 실제로 하나의 열에만 20% 누락 값이 있다고 가정합니다. 이 경우 정리 작업은 누락 값이 20%를 초과한 열에만 적용됩니다. 따라서 다른 열은 변경되지 않습니다.

    누락 값이 변경되었는지 여부를 모르면 누락 값 지표 열 생성 옵션을 선택합니다. 각 열이 최소 및 최대 범위에 대해 지정된 조건을 충족했는지 여부를 나타내는 열이 데이터 세트에 추가됩니다.

  4. 최대 누락 값 비율에서 작업을 수행할 수 있는 최대 누락 값 수를 지정합니다.

    예를 들어 30% 이하의 행에 누락 값이 있는 경우에만 누락 값 대체를 수행하고 30% 초과 행에 누락 값이 있는 경우 값을 그대로 둘 수 있습니다.

    열의 모든 값에 대한 누락 값의 비율로 수를 정의합니다. 기본적으로 최대 누락 값 비율은 1로 설정되어 있습니다. 즉, 열의 값이 100% 누락된 경우에도 누락 값이 정리됩니다.

    참고

    최소 누락 값 비율 또는 최대 누락 값 비율 옵션을 사용하여 임계값을 설정하는 경우 선택한 열 중 하나라도 조건을 충족하지 않으면 정리 작업을 수행할 수 없습니다.

  5. 정리 모드에서 누락 값을 바꾸거나 제거하는 다음 옵션 중 하나를 선택합니다.

    • MICE를 사용하여 바꾸기: 누락된 각 값에 대해 이 옵션은 통계 문헌에 설명된 메서드를 사용하여 "연결된 수식을 사용한 다변량 대체" 또는 "연결된 수식에 의한 다중 대체"로 계산되는 새 값을 할당합니다. 여러 대체 메서드를 사용하면 누락된 데이터가 있는 각 변수는 누락된 값을 채우기 전에 데이터의 다른 변수를 사용하여 조건부로 모델링됩니다. 반면, 누락된 값을 열 평균으로 바꾸는 것과 같은 단일 대체 메서드 에서는 채우기 값을 결정하기 위해 데이터를 통해 단일 패스가 만들어집니다.

      모든 대체 메서드는 일부 오류 또는 바이어스를 도입하지만 여러 대체는 데이터를 생성하는 프로세스와 데이터의 확률 분포를 더 잘 시뮬레이션합니다.

      누락된 값을 처리하는 방법에 대한 일반적인 소개는 누락된 데이터: 최신 상태를 참조하세요. 쉐퍼와 그레이엄, 2002년.

      경고

      이 옵션은 완전히 빈 열에 적용할 수 없습니다. 이러한 열은 제거하거나 있는 그대로 출력에 전달해야 합니다.

    • 사용자 지정 대체 값: 모든 누락 값에 적용되는 자리 표시자 값(예: 0 또는 NA)을 지정하려면 이 옵션을 사용합니다. 대체로 지정한 값은 열의 데이터 형식과 호환되어야 합니다.

    • 평균으로 바꾸기: 열 평균을 계산하고 열의 각 누락 값에 대한 대체 값으로 평균을 사용합니다.

      Integer, Double 또는 Boolean 데이터 형식의 열에만 적용됩니다. 자세한 내용은 기술 정보 섹션을 참조하세요.

    • 중앙값으로 바꾸기: 열 중앙값을 계산하고 열의 누락 값에 대한 대체 값으로 중앙값을 사용합니다.

      Integer 또는 Double 데이터 형식의 열에만 적용됩니다. 자세한 내용은 기술 정보 섹션을 참조하세요.

    • 모드로 바꾸기: 열의 모드를 계산하고 열의 모든 누락 값에 대한 대체 값으로 모드를 사용합니다.

      Integer, Double, Boolean 또는 Categorical 데이터 형식의 열에 적용됩니다. 자세한 내용은 기술 정보 섹션을 참조하세요.

    • 전체 행 제거: 데이터 세트에서 하나 이상의 누락 값이 있는 행을 완전히 제거합니다. 누락 값이 무작위로 누락된 것으로 간주할 수 있는 경우 이 옵션을 사용하면 유용합니다.

    • 전체 열 제거: 데이터 세트에서 하나 이상의 누락 값이 있는 열을 완전히 제거합니다.

    • 확률적 PCA를 사용하여 바꾸기: 열 간의 상관 관계를 분석하고 전체 데이터가 재구성되는 데이터의 저차원 근사치를 예측하는 선형 모델을 사용하여 누락된 값을 대체합니다. 이때 확률 형식 PCA( 주성분 분석 ) 를 사용하여 기본 차원을 낮춥니다 . 이 방법에서는 Journal of the Royal Statistical Society, Series B 21(3), 611– 622( 작성자 : Tipping 및 Bishop) 에서 제안된 모델의 변형을 구현합니다 .

      MICE(연쇄 수식을 사용한 다변 대체) 등의 다른 옵션에 비해 이 옵션은 각 열에 대한 예측자 적용이 필요하지 않다는 장점이 있습니다. 대신 전체 데이터 집합의 공 분산 근사치를 계산합니다. 따라서 많은 열에 누락된 값이 있는 데이터 세트에 더 나은 성능을 제공할 수 있습니다.

      이 방법의 주요 제한은 범주 열을 숫자 표시기로 확장하여 결과 데이터의 조밀한 공 분산 행렬을 계산한다는 점입니다. 또한 스파스 표현용으로 최적화되지 않습니다. 그러므로 열 수나 대형 범주 도메인 수가 수만 개에 달하는 데이터 집합은 공간이 제한된다는 가정으로 인해 지원되지 않습니다.

      선택한 메서드는 선택 영역의 모든 열에 적용됩니다. 따라서 일부 누락된 값을 일부 열의 0으로 대체하지만 다른 열에 자리 표시자를 삽입하려면 데이터 세트의 열 선택을 사용하여 데이터를 분리하고 누락된 데이터 정리 모듈의 다른 인스턴스를 사용해야 합니다.

  6. 대체 값 옵션은 사용자 지정 대체 값 옵션을 선택한 경우에 사용할 수 있습니다. 열의 모든 누락 값에 대한 대체 값으로 사용할 새 값을 입력합니다.

    이 옵션은 정수, Double, Boolean 또는 날짜 데이터 형식이 있는 열에서만 사용할 수 있습니다. 날짜 열의 경우 0001년 1월 1일 자정 이후의 100나노초 단위 숫자로 대체 값을 입력할 수도 있습니다.

  7. 누락 값 지표 열 생성: 열의 값이 누락 값 정리 조건을 충족하는지 여부를 나타내는 표시를 출력하려면 이 옵션을 선택합니다. 이 옵션은 새 정리 작업을 설정하고 설계된 대로 작동하는지 확인하려는 경우에 특히 유용합니다.

  8. 실험을 실행하거나 누락된 데이터 정리 모듈을 선택하고 [실행]을 선택합니다.

결과

이 모듈은 다음 두 개의 출력을 반환합니다.

  • 정리된 데이터 세트: 누락 값이 지정한 대로 처리된 선택한 열과 해당 옵션을 선택한 경우 지표 열로 구성된 데이터 세트입니다.

    정리되도록 선택하지 않은 열도 “전달”됩니다.

  • 정리 변환: 정리에 사용되며, 작업 영역에 저장하여 나중에 새 데이터에 적용할 수 있는 데이터 변환입니다.

새 데이터에 저장된 정리 작업 적용

정리 작업을 자주 반복해야 하는 경우 동일한 데이터 세트에서 재사용하기 위해 데이터 정리 레시피를 변환으로 저장하는 것이 좋습니다. 정리 변환 저장은 동일한 스키마를 가진 데이터를 자주 다시 가져오고 정리해야 하는 경우에 특히 유용합니다.

  1. 실험에 변환 적용 모듈을 추가합니다.

  2. 정리하려는 데이터 세트를 추가하고 오른쪽 입력 포트에 데이터 세트를 연결합니다.

  3. Studio(클래식)의 왼쪽 창에서 변환 그룹을 확장합니다. 저장된 변환을 찾아 실험으로 끌어옵니다.

  4. 저장된 변환을 변형 적용의 왼쪽 입력 포트에 연결합니다.

    저장된 변환을 적용할 때 변환이 적용되는 열을 선택할 수는 없습니다. 변환이 이미 정의되어 있고 원래 작업에 지정된 데이터 형식에 자동으로 적용되기 때문입니다.

    그러나 숫자 열의 하위 집합에 대한 변환을 만들었다고 가정합니다. 이 변환의 경우 일치하는 숫자 열에서만 누락 값이 변경되었기 때문에 오류 발생 없이 혼합된 열 형식의 데이터 세트에 적용할 수 있습니다.

  5. 실험을 실행합니다.

Azure AI 갤러리에서 이 모듈을 사용하는 방법의 예제를 참조하세요.

기술 정보

이 섹션에는 구현 세부 정보뿐만 아니라 알려진 문제 및 일반적으로 묻는 질문이 포함되어 있습니다.

  • 문자열 열을 선택하고 평균 또는 중앙값 옵션을 사용하면 오류가 발생합니다. 데이터 형식이 서로 다른 열을 처리해야 하는 경우에는 두 누락 데이터 정리 인스턴스를 만들어야 합니다.

  • 누락된 값을 부울, 정수, DateTime 또는 TimeSpan 데이터 형식으로 열의 평균 값으로 바꾸는 경우 열이 먼저 부동 소수점 숫자로 변환되고 평균이 계산된 다음 결과가 원래 데이터 형식의 가장 가까운 값으로 반올림됩니다.

  • 대체 값을 입력할 때는 선택한 열의 데이터 형식과 호환되는 값을 입력해야 합니다.

  • NaNInf값이며 –Inf 데이터 형식이 Double인 열에 대해 허용됩니다.

  • MICE 방법을 사용할 때는 학습된 MICE 모델을 사용하여 대체 값을 예측합니다.

  • 누락된 데이터 정리를 사용하면 다른 열 형식을 기능으로 다시 설정할 수 있습니다. 데이터에 레이블과 같은 다른 유형의 열이 포함된 경우 메타데이터 편집 을 사용하여 열 형식을 수정합니다.

정리 변환 사용에 대한 제한 사항

저장된 변환( 누락 데이터 정리 기준)을 새 데이터에 사용하는 경우 다음과 같은 제한 사항이 적용됩니다.

  • 저장된 변환은 원래 정리 작업에서 이 옵션을 사용하더라도 표시기 값을 생성할 수 없습니다. 표시기 값을 새 변환을 테스트할 때 가장 유용한 것으로 간주합니다.

  • 변환은 새 데이터 세트를 기반으로 새 값을 계산하지 않습니다. 즉, 데이터 세트 A에서 누락된 데이터 정리 를 사용하고 평균 값 0.5를 생성한 경우 데이터 세트 B의 실제 값에 관계없이 데이터 세트 B에서 누락된 값을 바꾸기 위한 평균으로 동일한 값이 적용됩니다.

  • 새 데이터 세트에 있는 열의 데이터 형식은 변환이 원래 만들어진 열의 데이터 형식과 일치해야 합니다. 데이터 형식을 암시적으로 변경하는 열에서 작업이 수행되면 오류가 발생합니다.

    예를 들어 정수 데이터 열 [Col1]에 대한 평균을 만들고 변환을 저장한다고 가정합니다. 이제 ([Col1] /1.5)와 같은 수식을 사용하여 조정된 [Col1]의 복사본에 정리 변환을 적용하려고 합니다. 결과가 정수인지 확인하려면 결과를 반올림하지만 변환을 적용할 때 오류가 발생합니다. 그러나 ([Col 1] * 10과 같은 수식을 사용하여 값을 조정하면 오류가 발생하지 않습니다.

    이러한 문제를 방지하려면 메타데이터 편집 을 사용하여 데이터 형식을 정수로 명시적으로 다시 설정합니다. 일반적으로 수학 연산 적용 모듈의 연산은 암시적으로 숫자 열을 .로 변경합니다 double.

임계값 설정 및 해석

최소 누락 값 비율 또는 최대 누락 값 비율을 사용하여 정리 작업에 대한 임계값을 지정하면 결과가 예기치 않거나 혼동될 수 있습니다. 최대 및 최소 누락 값에 대한 옵션이 작동하는 방식을 설명하기 위해 누락된 값이 있는 많은 열이 있는 자동차 가격 샘플 데이터 세트의 몇 가지 예제를 제공했습니다.

다음 표에서는 데이터 세트에서 계산된 누락 값의 비율과 함께 해당 데이터 세트의 여러 열에 대해 누락된 값의 수를 보여 줍니다. 누락된 값의 비율(맨 오른쪽 열)은 지정된 임계값에 대해 데이터 세트를 평가하는 데 사용되는 값입니다.

최소 누락 값 비율을 0.019로 설정하고 최대 누락 값 비율을 0.020으로 설정한다고 가정합니다. 다음 값 테이블을 고려할 때 일부 열은 임계값 조건을 충족하고 일부는 그렇지 않습니다.

  • 열이며 borestroke 임계값 조건을 충족합니다.
  • 열이며 normalized-lossescompression-ratio 임계값 조건을 충족하지 않습니다.
열 이름 누락 값 개수 누락 값 비율
정규화 손실 41 0.2
보어 4 0.019512195
스트로크 4 0.019512195
압축 비율 0 0

선택 영역의 일부 열이 지정된 조건을 충족하지 않아 열에 대해 정리 작업이 수행되지 않았습니다. 발생한 작업을 파악하는 데 도움이 되도록 모듈은 두 표시기 열 bore_IsMissingFALSE 값을 반환하고 stroke_IsMissing.

그러나 임계값을 최소 누락 값 비율 의 경우 0, 최대 누락 값 비율의 경우 1의 기본값으로 변경하면 선택한 모든 열에 대해 표시기 열이 반환되고 지정된 작업이 수행됩니다.

누락된 값 정리가 예상대로 작동하는지 확실하지 않은 경우 누락된 값 표시기 열 생성 옵션을 선택합니다.

알려진 문제

MICE 메서드를 사용하여 데이터를 정리한 다음 누락된 값이 포함된 데이터 세트를 처리하는 경우 다음과 같은 오류가 발생할 수 있습니다. "AFx 라이브러리 라이브러리 예외: 모델이 학습되지 않았습니다. (오류 1000 )"

이 오류는 MICE 메서드를 선택한 경우에만 발생하며 학습 데이터 세트에 누락된 값이 없지만 테스트 데이터 세트가 있는 경우에만 발생합니다.

예상 입력

Name 유형 설명
데이터 세트 데이터 테이블 정리할 데이터 집합입니다.

모듈 매개 변수

Name 범위 Type 기본값 설명
정리할 열 모두 ColumnSelection 모두 누락 값 정리 작업에 대한 열을 선택합니다.
최소 누락 값 비율 [0.0;1.0] Float 0.0 선택한 모든 열 집합에서 지정된 값보다 값 비율이 누락된 열만 정리합니다.
최대 누락 값 비율 [0.0;1.0] Float 1.0 선택한 모든 열 집합에서 누락 값 비율이 지정한 값보다 작은 열만 정리합니다.
정리 모드 목록 처리 정책 사용자 지정 대체 값 누락 값을 정리할 때 사용할 알고리즘을 선택합니다.
대체 값 모두 문자열 "0" 누락 값 대신 사용할 값을 입력합니다.

이 값은 선택 사항입니다.
모든 값이 누락된 열 모두 ColumnsWithAllValuesMissing 제거 모든 값이 누락된 열을 출력에서 보존할지 여부를 나타냅니다.
누락 값 지표 열 생성 모두 부울 false 정리된 행을 나타내는 열을 생성합니다.
반복 횟수 [1;10] 정수 5 MICE를 사용할 때의 반복 횟수를 지정합니다.
PCA 예측의 반복 횟수 [1;50] 정수 10 PCA 예측을 사용할 때의 반복 횟수를 지정합니다.

출력

Name 유형 설명
정리된 데이터 집합입니다. 데이터 테이블 정리된 데이터 집합입니다.
정리 변환 ITransform 인터페이스 새 데이터를 정리하도록 변환 적용 모듈로 전달할 변환입니다.

예외

예외 설명
오류 0002 하나 이상의 매개 변수를 구문 분석할 수 없거나 지정한 형식에서 대상 방법에 필요한 형식으로 변환할 수 없으면 예외가 발생합니다.
오류 0003 입력 데이터 집합 중 하나 이상이 null이거나 비어 있으면 예외가 발생합니다.
오류 0008 매개 변수가 범위 내에 있지 않으면 예외가 발생합니다.
오류 0013 모듈에 전달된 학습자의 형식이 잘못되었으면 예외가 발생합니다.
오류 0018 입력 데이터 집합이 잘못된 경우 예외가 발생합니다.
오류 0039 작업이 실패하면 예외가 발생합니다.

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

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

참고 항목

조작
데이터 변환
전체 모듈 목록