Amazon SageMaker Data Wrangler로 기계 학습을 위한 데이터 균형 조정

소스 노드 : 1600102

Amazon SageMaker 데이터 랭글러 의 새로운 기능입니다 아마존 세이지 메이커 이를 통해 데이터 과학자와 엔지니어는 시각적 인터페이스를 사용하여 기계 학습(ML) 애플리케이션용 데이터를 더 빠르게 준비할 수 있습니다. 여기에는 300개 이상의 데이터 변환 기능이 내장되어 있어 코드를 작성하지 않고도 기능을 신속하게 정규화, 변환 및 결합할 수 있습니다.

오늘 우리는 ML 모델 교육을 위해 데이터 세트의 균형을 쉽고 효과적으로 조정할 수 있는 새로운 변환을 발표하게 되어 기쁘게 생각합니다. 이 게시물에서는 이러한 변환이 어떻게 작동하는지 보여줍니다.

새로운 밸런싱 연산자

새로 발표된 밸런싱 연산자는 다음과 같이 그룹화됩니다. 잔액 데이터 변환 유형 변환 추가 창유리.

현재 변환 연산자는 이진 분류 문제만 지원합니다. 이진 분류 문제에서 분류자는 각 샘플을 두 클래스 중 하나로 분류하는 임무를 맡습니다. 다수 클래스(더 큰)의 샘플 수가 소수(더 작은) 클래스의 샘플 수보다 상당히 큰 경우 데이터 세트는 불균형한 것으로 간주됩니다. 이러한 편향은 학습 프로세스가 다수 클래스에 편향되는 경향이 있기 때문에 ML 알고리즘 및 분류기에 어려운 문제입니다.

이러한 문제를 해결하기 위해 분류기를 훈련하기 전에 데이터의 균형을 더욱 높이는 균형 조정 방식이 제안되었습니다. 가장 간단한 균형 조정 방법은 소수 샘플을 복제하여 소수 클래스를 오버샘플링하거나 다수 샘플을 제거하여 다수 클래스를 과소샘플링하는 것입니다. 표 형식 데이터에 합성 소수 표본을 추가하는 아이디어는 SMOTE(Synthetic Minority Oversampling Technique)에서 처음 제안되었습니다. 여기서는 원래 소수 점의 쌍을 보간하여 합성 소수 표본을 생성합니다. SMOTE 및 기타 균형 조정 방식은 경험적으로 광범위하게 연구되었으며 출판물에 따라 다양한 시나리오에서 예측 성능을 향상시키는 것으로 나타났습니다. SMOTE로 또는 SMOTE로 하지 않음.

Data Wrangler는 이제 다음과 같은 균형 연산자를 지원합니다. 잔액 데이터 변환:

  • 랜덤 오버샘플러 – 소수 샘플을 무작위로 복제
  • 랜덤 언더샘플러 – 다수의 샘플을 무작위로 제거
  • 스 모트 – 실수 소수 샘플을 보간하여 합성 소수 샘플 생성

이제 다양한 밸런싱 연산자에 대해 자세히 논의해 보겠습니다.

랜덤 오버샘플

무작위 오버샘플링에는 소수 클래스에서 무작위 예시를 대체하여 선택하고 이 인스턴스의 여러 복사본으로 훈련 데이터를 보완하는 것이 포함됩니다. 따라서 단일 인스턴스가 여러 번 선택될 수 있습니다. 와 더불어 랜덤 무작위 과잉 샘플링 변환 유형의 경우 데이터 랭글러는 데이터 세트의 소수 샘플을 복제하여 소수 클래스를 자동으로 오버샘플링합니다.

랜덤 언더샘플

무작위 언더샘플링은 무작위 오버샘플링의 반대입니다. 이 방법은 다수 클래스에서 샘플을 무작위로 선택하고 제거하여 결과적으로 변환된 데이터에서 다수 클래스의 예 수를 줄이려고 합니다. 그만큼 랜덤 무작위 과소샘플링 변환 유형을 사용하면 Data Wrangler가 데이터세트에서 다수의 샘플을 제거하여 자동으로 다수 클래스를 과소샘플링할 수 있습니다.

스 모트

SMOTE에서는 다수 샘플과 소수 샘플 간의 원하는 비율을 달성하기 위해 합성 소수 샘플이 데이터에 추가됩니다. 합성 샘플은 원래 소수점 쌍을 보간하여 생성됩니다. 그만큼 스 모트 변환은 숫자 및 숫자가 아닌 기능을 포함한 데이터 세트 균형을 지원합니다. 숫자 특성은 가중 평균으로 보간됩니다. 그러나 숫자가 아닌 특성에는 가중 평균 보간법을 적용할 수 없습니다. 평균을 구하는 것은 불가능합니다. “dog”“cat” 예를 들어. 대신, 평균 가중치에 따라 원래 소수 샘플 중 하나에서 숫자가 아닌 기능이 복사됩니다.

예를 들어 두 개의 샘플 A와 B를 생각해 보세요.

A = [1, 2, "dog", "carnivore"]
B = [0, 0, "cow", "herbivore"]

표본이 표본 A에 대해 0.3, 표본 B에 대해 0.7의 가중치로 보간된다고 가정합니다. 따라서 숫자 필드는 이러한 가중치를 사용하여 평균화되어 각각 0.3과 0.6을 산출합니다. 다음 필드는 다음으로 채워집니다. “dog” 확률은 0.3이고 “cow” 확률은 0.7입니다. 마찬가지로 다음은 같습니다. “carnivore” 확률은 0.3이고 “herbivore” 확률은 0.7입니다. 무작위 복사는 각 기능에 대해 독립적으로 수행되므로 아래 샘플 C가 가능한 결과입니다.

C = [0.3, 0.6, "dog", "herbivore"]

이 예는 보간 프로세스로 인해 초식 동물 개와 같은 비현실적인 합성 샘플이 어떻게 생성될 수 있는지 보여줍니다. 이는 범주형 특성에서 더 일반적이지만 숫자 특성에서도 발생할 수 있습니다. 일부 합성 샘플이 비현실적일 수 있더라도 SMOTE는 여전히 분류 성능을 향상시킬 수 있습니다.

보다 현실적인 샘플을 경험적으로 생성하기 위해 SMOTE는 기능 공간에서 가까운 쌍만 보간합니다. 기술적으로 각 샘플은 k의 공통 값이 5인 k-최근접 이웃으로만 보간됩니다. SMOTE 구현에서는 숫자 특징만 점 사이의 거리를 계산하는 데 사용됩니다(거리는 이웃을 결정하는 데 사용됩니다). 각 샘플의). 거리를 계산하기 전에 숫자 특징을 정규화하는 것이 일반적입니다. 숫자 특징은 거리 계산 목적으로만 정규화됩니다. 결과로 보간된 특징은 정규화되지 않습니다.

이제 균형을 맞추자 성인 데이터세트 (인구조사 소득 데이터세트라고도 함)은 Data Wrangler에서 제공하는 내장 SMOTE 변환을 사용합니다. 이 다변량 데이터 세트에는 50,000개의 숫자 특성과 XNUMX개의 문자열 특성이 포함되어 있습니다. 데이터 세트의 목표는 인구 조사 데이터를 기반으로 개인의 소득이 연간 $XNUMX를 초과하는지 여부를 예측하는 이진 분류 작업입니다.

또한 히스토그램을 생성하여 클래스 분포를 시각적으로 확인할 수도 있습니다. Data Wrangler의 히스토그램 분석 유형. 목표 분포가 불균형하고 레코드 비율이 >50K<=50K 1:4 정도이다.

우리는 다음을 사용하여 이 데이터의 균형을 맞출 수 있습니다. 스 모트 아래에서 찾은 연산자 잔액 데이터 다음 단계에 따라 Data Wrangler에서 변환합니다.

  1. 왼쪽 메뉴에서 income 대상 열로

우리는 이 열의 분포가 더욱 균형을 이루기를 원합니다.

  1. 원하는 비율로 설정하세요. 0.66.

따라서 소수 표본 수와 다수 표본 수의 비율은 2:3입니다(원시 비율 1:4 대신).

  1. 왼쪽 메뉴에서 스 모트 사용할 변환으로.
  2. 기본값은 그대로 둡니다. 이웃 수 평균화 및 정규화 여부.
  3. 왼쪽 메뉴에서 시사 적용된 변환을 미리 보고 선택하려면 추가 데이터 흐름에 변환을 추가합니다.

이제 클래스의 재정렬된 분포를 확인하기 위해 이전에 했던 것과 유사한 새로운 히스토그램을 만들 수 있습니다. 다음 그림은 히스토그램을 보여줍니다. income 데이터 세트의 균형을 맞춘 후 열입니다. 이제 의도한 대로 샘플 분포가 3:2가 되었습니다.

이제 이 새로운 균형 잡힌 데이터를 내보내고 분류기를 훈련할 수 있으므로 우수한 예측 품질을 얻을 수 있습니다.

결론

이 게시물에서는 Data Wrangler를 사용하여 불균형 이진 분류 데이터의 균형을 맞추는 방법을 시연했습니다. Data Wrangler는 불균형 데이터세트의 데이터 균형을 재조정하기 위해 무작위 과소샘플링, 무작위 오버샘플링, SMOTE라는 세 가지 균형 연산자를 제공합니다. Data Wrangler가 제공하는 세 가지 방법 모두 숫자 및 비숫자 기능을 포함한 다중 모드 데이터를 지원합니다.

다음 단계에서는 Data Wrangler 데이터 흐름에 이 게시물의 예를 복제하여 실제로 논의한 내용을 확인하는 것이 좋습니다. Data Wrangler를 처음 사용하는 경우 또는 SageMaker 스튜디오, 인용하다 데이터 랭글러 시작하기. 본 포스팅과 관련하여 궁금한 사항이 있으시면 댓글란에 추가해주세요.


저자에 관하여

요탐 엘로 Amazon SageMaker의 수석 응용 과학자입니다. 그의 연구 관심 분야는 기계 학습, 특히 표 형식 데이터에 있습니다.

아룬 프라 사스 샨 카르 AWS의 인공 지능 및 기계 학습 (AI / ML) 전문 솔루션 아키텍트로서 글로벌 고객이 클라우드에서 AI 솔루션을 효과적이고 효율적으로 확장 할 수 있도록 지원합니다. 여가 시간에 Arun은 공상 과학 영화를보고 클래식 음악을 듣는 것을 즐깁니다.

출처: https://aws.amazon.com/blogs/machine-learning/balance-your-data-for-machine-learning-with-amazon-sagemaker-data-wrangler/

타임 스탬프 :

더보기 AWS 머신 러닝 블로그