차원 축소를 위한 Amazon SageMaker Data Wrangler

차원 축소를 위한 Amazon SageMaker Data Wrangler

기계 학습(ML)의 세계에서 데이터 세트의 품질은 모델 예측 가능성에 매우 중요합니다. 일반적으로 더 많은 데이터가 더 좋지만 많은 수의 기능이 있는 대규모 데이터 세트는 차원의 저주로 인해 때때로 최적이 아닌 모델 성능으로 이어질 수 있습니다. 분석가는 모델 성능을 개선하기 위해 데이터를 변환하는 데 상당한 시간을 할애할 수 있습니다. 또한 대규모 데이터 세트는 비용이 많이 들고 훈련하는 데 시간이 오래 걸립니다. 시간이 제약 조건이면 결과적으로 모델 성능이 제한될 수 있습니다.

차원 축소 기술은 정보를 유지하면서 데이터의 크기를 줄이는 데 도움이 되므로 교육 시간이 단축되고 비용이 절감되며 잠재적으로 더 높은 성능의 모델을 얻을 수 있습니다.

Amazon SageMaker 데이터 랭글러 ML용으로 특별히 제작된 데이터 집계 및 준비 도구입니다. Data Wrangler는 단일 시각적 인터페이스에서 데이터 선택, 정리, 탐색 및 시각화와 같은 데이터 준비 및 기능 엔지니어링 프로세스를 단순화합니다. Data Wrangler에는 데이터 변환에 효과적으로 사용할 수 있는 사전 구성된 데이터 변환이 300개 이상 있습니다. 또한 PySpark, SQL 및 pandas에서 사용자 지정 변환을 작성할 수 있습니다.

오늘 우리는 ML 세계에서 일반적으로 사용되는 새로운 변환 기술을 Data Wrangler 사전 빌드된 변환 목록에 추가하게 되어 기쁩니다. 즉, Principal Component Analysis를 사용한 차원 축소입니다. 이 새로운 기능을 사용하면 Data Wrangler 콘솔에서 몇 번의 클릭만으로 데이터 세트의 많은 차원을 인기 있는 ML 알고리즘과 함께 사용할 수 있는 차원으로 줄일 수 있습니다. 이렇게 하면 최소한의 노력으로 모델 성능이 크게 향상될 수 있습니다.

이 게시물에서는 이 새로운 기능에 대한 개요를 제공하고 데이터 변환에서 이 기능을 사용하는 방법을 보여줍니다. 대규모 희소 데이터 세트에서 차원 축소를 사용하는 방법을 보여줍니다.

주성분 분석 개요

PCA(Principal Component Analysis)는 원래 데이터 세트에서 가능한 한 많은 정보를 유지하면서 많은 수치적 특징이 있는 데이터 세트에서 특징의 차원을 더 적은 수의 특징으로 변환할 수 있는 방법입니다. 이것은 구성 요소들, 서로 연관되지 않은 원래 기능의 합성물입니다. 데이터 세트의 여러 기능은 종종 최종 결과에 덜 영향을 미치며 ML 모델의 처리 시간을 늘릴 수 있습니다. 인간이 이러한 고차원 문제를 이해하고 해결하는 것은 어려울 수 있습니다. PCA와 같은 차원 감소 기술이 이 문제를 해결하는 데 도움이 될 수 있습니다.

솔루션 개요

이 게시물에서는 데이터 랭글러에서 차원 축소 변환을 사용하는 방법을 보여줍니다. MNIST 피처 수를 85% 줄이고 원본 데이터세트와 비슷하거나 더 나은 정확도를 달성합니다. 컴퓨터 비전에서 사실상의 "hello world" 데이터 세트인 MNIST(Modified National Institute of Standards and Technology) 데이터 세트는 손으로 쓴 이미지의 데이터 세트입니다. 데이터 세트의 각 행은 총 28픽셀에 대해 28 x 784픽셀인 단일 이미지에 해당합니다. 각 픽셀은 0-255 범위의 픽셀 값을 가진 데이터 세트의 단일 기능으로 표시됩니다.

새로운 차원 축소 기능에 대한 자세한 내용은 다음을 참조하십시오. 데이터 세트 내에서 차원 줄이기.

사전 조건

이 게시물은 귀하가 아마존 세이지 메이커 스튜디오 도메인 설정. 설정 방법에 대한 자세한 내용은 다음을 참조하십시오. 빠른 설정을 사용하여 Amazon SageMaker 도메인에 온보딩.

Data Wrangler의 새로운 기능을 시작하려면 다음에 Studio를 여십시오. 최신 릴리스로 업그레이드 선택하고 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 메뉴, 신제품흐름, 또는 선택 새로운 데이터 흐름 Studio 런처에서.

빠른 모델 분석 수행

이 게시물에서 사용하는 데이터 세트에는 60,000개의 훈련 예제와 레이블이 포함되어 있습니다. 각 행은 785개의 값으로 구성됩니다. 첫 번째 값은 레이블(0~9의 숫자)이고 나머지 784개의 값은 픽셀 값(0~255의 숫자)입니다. 먼저 원시 데이터에 대한 빠른 모델 분석을 수행하여 성능 메트릭을 얻고 평가를 위해 PCA 변환 후 모델 메트릭과 비교합니다. 다음 단계를 완료하십시오.

  1. 를 다운로드 MNIST 데이터세트 교육 데이터세트.
  2. .zip 파일에서 데이터를 추출하고 아마존 단순 스토리지 서비스 (Amazon S3) 버킷.
  3. Studio에서 선택 신제품 데이터 랭글러 흐름 새로운 데이터 랭글러 흐름을 생성합니다.
    데이터 랭글러 흐름
  4. 왼쪽 메뉴에서 데이터 가져 오기 Amazon S3에서 데이터를 로드합니다.
    데이터 가져 오기
  5. 왼쪽 메뉴에서 아마존 S3 데이터 소스로.
    S3 데이터 연결 선택
  6. S3 버킷에 업로드된 데이터 세트를 선택합니다.
  7. 기본 설정을 그대로 두고 다음을 선택합니다. 수입.
    S3에서 가져오기

데이터를 가져온 후 Data Wrangler는 자동으로 데이터 세트의 유효성을 검사하고 샘플링을 기반으로 모든 열의 데이터 유형을 감지합니다. MNIST 데이터 세트에서는 모든 열이 길기 때문에 이 단계를 그대로 두고 데이터 흐름으로 돌아갑니다.

  1. 왼쪽 메뉴에서 데이터 흐름 의 상단에 자료형 기본 데이터 흐름으로 돌아가는 페이지입니다.
    데이터 세트 데이터 유형

흐름 편집기는 이제 데이터가 소스에서 가져왔고 데이터 유형이 인식되었음을 보여주는 두 개의 블록을 표시합니다. 필요한 경우 데이터 유형을 편집할 수도 있습니다.

데이터 품질이 허용 가능한지 확인한 후 데이터 흐름으로 돌아가서 Data Wrangler의 데이터 품질 및 인사이트 보고서를 사용합니다. 이 보고서는 가져온 데이터 세트에 대한 분석을 수행하고 누락된 값, 이상값, 대상 누출, 불균형 데이터 및 빠른 모델 분석에 대한 정보를 제공합니다. 인용하다 데이터 및 데이터 품질에 대한 통찰력 얻기

이 분석에서는 데이터 품질 보고서의 빠른 모델 부분에만 집중합니다.

  1. 옆에 있는 더하기 기호를 선택합니다. 자료형다음을 선택 분석 추가.
    차원 축소 PlatoBlockchain 데이터 인텔리전스를 위한 Amazon SageMaker Data Wrangler. 수직 검색. 일체 포함.
  2. 럭셔리 분석 유형¸ 선택 데이터 품질 및 인사이트 보고서.
  3. 럭셔리 대상 열, 레이블을 선택하십시오.
  4. 럭셔리 문제 유형, 고르다 분류 (이 단계는 선택 사항입니다).
  5. 왼쪽 메뉴에서 만들기.
    분석 만들기

이 게시물에서는 데이터 품질 및 인사이트 보고서를 사용하여 PCA를 사용하여 모델 성능이 대부분 어떻게 유지되는지 보여줍니다. 더 나은 성능을 위해 딥 러닝 기반 접근 방식을 사용하는 것이 좋습니다.

다음 스크린샷은 보고서의 데이터 세트 요약을 보여줍니다. 다행히 누락된 값이 없습니다. 보고서를 생성하는 데 걸리는 시간은 데이터 세트 크기, 기능 수 및 Data Wrangler에서 사용하는 인스턴스 크기에 따라 다릅니다.

데이터 품질 요약

다음 스크린샷은 모델이 원시 데이터 세트에서 어떻게 수행되었는지 보여줍니다. 여기서 우리는 모델이 93.7개의 기능을 활용하여 784%의 정확도를 가지고 있음을 알 수 있습니다.

PCA 이전의 빠른 모델

Data Wrangler 차원 축소 변환 사용

이제 데이터 랭글러 차원 감소 변환을 사용하여 이 데이터 세트의 기능 수를 줄이겠습니다.

  1. 데이터 흐름 페이지에서 옆에 있는 더하기 기호를 선택합니다. 자료형다음을 선택 변형 추가.
    차원 축소 PlatoBlockchain 데이터 인텔리전스를 위한 Amazon SageMaker Data Wrangler. 수직 검색. 일체 포함.
  2. 왼쪽 메뉴에서 단계 추가.
    단계 추가
  3. 왼쪽 메뉴에서 차원 축소.
    차원 축소

나열된 차원 감소 옵션이 표시되지 않으면 Data Wrangler를 업데이트해야 합니다. 지침은 다음을 참조하십시오. 데이터 랭글러 업데이트.

  1. PCA에 들어가는 주요 변수를 구성합니다.
    1. 럭셔리 변환에서 사용하려는 차원 감소 기술을 선택합니다. 이번 포스팅에서는 선택 주요 구성 요소 분석.
    2. 럭셔리 입력 열에서 PCA 분석에 포함할 열을 선택합니다. 이 예에서는 대상 열 레이블을 제외한 모든 기능을 선택합니다( 모두 선택 모든 기능을 선택하고 필요하지 않은 기능을 선택 취소하는 기능). 이러한 열은 숫자 데이터 유형이어야 합니다.
    3. 럭셔리 주성분 수, 대상 치수의 수를 지정합니다.
    4. 럭셔리 분산 임계값 백분율, 주성분으로 설명하려는 데이터의 변동 백분율을 지정합니다. 기본값은 95입니다. 이 게시물에서는 80을 사용합니다.
    5. 선택 센터 크기 조정 전에 평균을 사용하여 데이터를 중앙에 배치합니다.
    6. 선택 규모 단위 표준 편차로 데이터를 스케일링합니다.
      PCA는 분산이 높은 변수를 더 강조합니다. 따라서 치수가 조정되지 않으면 일관되지 않은 결과가 나타납니다. 예를 들어, 한 변수의 값은 50–100 범위에 있고 다른 변수는 5–10일 수 있습니다. 이 경우 PCA는 첫 번째 변수에 더 많은 가중치를 부여합니다. 이러한 문제는 PCA를 적용하기 전에 데이터 세트를 확장하여 해결할 수 있습니다.
    7. 럭셔리 출력 형식, 구성 요소를 별도의 열 또는 벡터로 출력할지 여부를 지정합니다. 이번 포스팅에서는 선택 .
    8. 럭셔리 출력 열, PCA에서 생성된 열 이름의 접두사를 입력합니다. 이 게시물에서는 PCA80_을 입력합니다.
  2. 왼쪽 메뉴에서 시사 데이터를 미리 보려면 다음을 선택하십시오. 업데이트.
    차원 축소 PlatoBlockchain 데이터 인텔리전스를 위한 Amazon SageMaker Data Wrangler. 수직 검색. 일체 포함.

PCA를 적용한 후 열 수가 784개에서 115개로 줄어들어 특성 수가 85% 감소합니다.

이제 변환된 데이터 세트를 사용하고 다음 스크린샷과 같이 다른 데이터 품질 및 인사이트 보고서를 생성하여 모델 성능을 관찰할 수 있습니다.

PCA 후 빠른 모델

두 번째 분석에서는 첫 번째 Quick Model 보고서에 비해 모델 성능이 향상되고 정확도가 91.8% 증가한 것을 확인할 수 있습니다. PCA는 모델 정확도를 비슷한 수준으로 유지하면서 데이터 세트의 기능 수를 85% 줄였습니다.

보고서의 빠른 모델 분석에 따르면 모델 성능은 91.8%입니다. PCA를 사용하여 모델 정확도를 비슷한 수준으로 유지하면서 열을 85% 줄였습니다. 더 나은 결과를 위해 더 나은 성능을 제공할 수 있는 딥 러닝 모델을 사용해 볼 수 있습니다.

우리는 다음을 사용하여 교육 시간에서 다음과 같은 비교를 찾았습니다. Amazon SageMaker 자동 조종 장치 PCA 차원 감소 유무:

  • PCA 차원 축소 – 25 분
  • PCA 치수 감소 없음 – 45 분

PCA 운영

시간이 지남에 따라 데이터가 변경되므로 보이지 않는 새로운 데이터로 매개변수를 재교육하는 것이 바람직한 경우가 많습니다. Data Wrangler는 매개변수 재조정을 통해 이 기능을 제공합니다. 훈련된 매개변수 재적합에 대한 자세한 내용은 다음을 참조하십시오. Amazon SageMaker Data Wrangler를 사용하여 대규모 데이터 세트에서 훈련된 매개변수를 재정의합니다..

이전에는 50,000개의 샘플 행이 포함된 MNIST 데이터 세트의 샘플에 PCA를 적용했습니다. 결과적으로 우리의 플로우 파일에는 이 샘플에 대해 훈련되고 해당 매개변수를 다시 학습하도록 지정하지 않는 한 생성된 모든 작업에 사용되는 모델이 포함됩니다.

MNIST 학습 데이터 세트에서 모델 매개변수를 다시 맞추려면 다음 단계를 완료하세요.

  1. 데이터 랭글러 처리 작업을 생성할 수 있도록 Amazon S3에 흐름 파일의 대상을 생성합니다.
    데이터 랭글러 처리 작업
  2. 작업을 만들고 선택 수리 새로운 훈련 매개변수를 학습합니다.

XNUMXD덴탈의 훈련된 매개변수 섹션은 784개의 매개변수가 있음을 보여줍니다. PCA 감소에서 레이블 열을 제외했기 때문에 각 열에 대해 하나의 매개변수입니다.

선택하지 않으면 수리 이 단계에서는 대화식 모드에서 학습된 훈련된 매개변수가 사용됩니다.

작업 만들기

  1. 작업을 만듭니다.
    작업 생성됨
  2. 처리 작업 링크를 선택하여 작업을 모니터링하고 Amazon S3에서 결과 흐름 파일의 위치를 ​​찾습니다.
    작업 흐름 처리

이 흐름 파일에는 전체 MNIST 열차 데이터 세트에서 학습된 모델이 포함되어 있습니다.

  1. 이 파일을 Data Wrangler에 로드합니다.

정리

추가 비용이 발생하지 않도록 환경을 정리하려면 Amazon S3에서 데이터 세트와 아티팩트를 삭제하십시오. 또한 Studio에서 데이터 흐름 파일을 삭제하고 실행 중인 인스턴스를 종료합니다. 인용하다 데이터 랭글러 종료

결론

차원 감소는 모델에서 원하지 않는 변수를 제거하는 훌륭한 기술입니다. 데이터의 모델 복잡성과 노이즈를 줄이는 데 사용할 수 있으므로 머신 러닝 및 딥 러닝 모델에서 일반적인 과적합 문제를 완화할 수 있습니다. 이 블로그에서 우리는 기능 수를 줄임으로써 모델에 대해 유사하거나 더 높은 정확도를 달성할 수 있음을 보여주었습니다.

PCA 사용에 대한 자세한 내용은 다음을 참조하십시오. 주성분 분석(PCA) 알고리즘. 차원 감소 변환에 대한 자세한 내용은 다음을 참조하십시오. 데이터 세트 내에서 차원 줄이기.


저자 소개

차원 축소 PlatoBlockchain 데이터 인텔리전스를 위한 Amazon SageMaker Data Wrangler. 수직 검색. 일체 포함.아델레케 코커 AWS의 글로벌 솔루션 아키텍트입니다. 그는 전 세계 고객과 협력하여 AWS에서 프로덕션 워크로드를 대규모로 배포하는 데 지침과 기술 지원을 제공합니다. 여가 시간에는 학습, 독서, 게임, 스포츠 경기 관람을 즐깁니다.

차원 축소 PlatoBlockchain 데이터 인텔리전스를 위한 Amazon SageMaker Data Wrangler. 수직 검색. 일체 포함.애비 게일 Amazon SageMaker의 소프트웨어 개발 엔지니어입니다. 그녀는 고객이 DataWrangler에서 데이터를 준비하도록 돕고 분산 기계 학습 시스템을 구축하는 데 열정적입니다. 여가 시간에 Abigail은 여행, 하이킹, 스키, 베이킹을 즐깁니다.

차원 축소 PlatoBlockchain 데이터 인텔리전스를 위한 Amazon SageMaker Data Wrangler. 수직 검색. 일체 포함.비샤알 카푸르 AWS AI의 수석 응용 과학자입니다. 그는 고객이 Data Wrangler에서 데이터를 이해하도록 돕는 데 열정을 쏟고 있습니다. 여가 시간에는 산악 자전거와 스노보드를 타고 가족과 시간을 보냅니다.

차원 축소 PlatoBlockchain 데이터 인텔리전스를 위한 Amazon SageMaker Data Wrangler. 수직 검색. 일체 포함.라비테자 옐라만칠리 뉴욕에 기반을 둔 Amazon Web Services의 엔터프라이즈 솔루션 아키텍트입니다. 그는 대규모 금융 서비스 기업 고객과 협력하여 클라우드에서 매우 안전하고 확장 가능하고 안정적이며 비용 효율적인 애플리케이션을 설계하고 배포합니다. 그는 11년 이상의 위험 관리, 기술 컨설팅, 데이터 분석 및 기계 학습 경험을 제공합니다. 그는 고객을 돕지 않을 때 여행을 즐기고 PS5를 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습