AWS 기술 블로그

Amazon SageMaker Data Wrangler의 신규 임베디드 시각화 살펴보기

이번 게시글은 영문 게시글(Introducing Amazon SageMaker Data Wrangler’s new embedded visualizations by Isha Dua, Parth Patel)의 한글 번역문입니다

수동으로 데이터 품질을 검사하고 데이터를 정리하는 것은 데이터 과학자가 프로젝트에 많은 시간을 할애 할수록 고통스럽고 시간 소모적인 프로세스입니다. 2020년 Anaconda에서 실시한 데이터 과학자 설문 조사에 따르면, 데이터 과학자는 데이터 로드(19%), 데이터 정리(26%), 데이터 시각화(21%)를 포함하여 데이터 준비 및 분석 작업에 약 66%의 시간을 할애합니다. Amazon SageMaker는 다양한 고객 요구 사항과 선호도를 충족하는 다양한 데이터 준비 도구를 제공합니다. GUI 기반 대화형 인터페이스를 선호하는 사용자를 위해 SageMaker Data Wrangler는 300개 이상의 기본 제공 시각화, 분석 및 변환을 제공하여 한 줄의 코드를 작성하지 않고도 Spark에서 지원하는 데이터를 효율적으로 처리합니다.

기계 학습(ML)의 데이터 시각화는 반복적인 프로세스이며 검색, 조사 및 검증을 위해 데이터 세트의 지속적인 시각화가 필요합니다. 데이터를 원근감 있게 바라보는 것은 가능한 데이터 오류, 누락된 값, 잘못된 데이터 유형, 오해의 소지가 있는 잘못된 데이터, 이상 데이터 등을 이해하기 위해 각 컬럼을 보는 것을 수반합니다.

이 블로그에서는 Amazon SageMaker Data Wrangler가 데이터 분포의 주요 시각화를 자동으로 생성하고, 데이터 품질 문제를 감지하고, 한 줄의 코드를 작성하지 않고도 각 기능에 대한 이상값과 같은 데이터 통찰력을 표시하는 방법을 보여줍니다. 자동 품질 경고(예: 누락된 값 또는 유효하지 않은 값)로 데이터 그리드 환경을 개선하는 데 도움이 됩니다. 자동으로 생성된 시각화도 상호 작용으로 구성되어 있습니다. 예를 들어 상위 5개 항목을 백분율로 정렬한 표를 표시하고 막대 위로 마우스를 가져가 갯수와 백분율 간에 전환 할 수 있습니다.

사전 준비 사항

Amazon SageMaker Data Wrangler는 SageMaker Studio 내에서 사용할 수 있는 SageMaker 기능입니다.  스튜디오 온보딩 프로세스(Studio onboarding process)에 따라 Studio 환경과 노트북을 가동할 수 있습니다. 몇 가지 인증 방법 중에서 선택할 수 있지만 Studio 도메인을 만드는 가장 간단한 방법은 빠른 시작 지침(Quick start instruction)을 따르는 것입니다. 빠른 시작은 표준 Studio 설정과 동일한 기본 설정을 사용합니다. 인증을 위해 AWS Identity and Access Management(IAM) Identity Center(AWS Single Sign-On의 후속 제품)를 사용하여 온보딩하도록 선택할 수도 있습니다(IAM Identity Center를 사용하여 Amazon SageMaker 도메인에 온보딩 참조하세요).

솔루션 살펴보기

Amazon SageMaker Studio 환경설정을 시작하고 새로운 Data Wrangler flow를 생성합니다. 자신의 데이터 세트를 가져오거나 다음 이미지와 같이 샘플 데이터 세트(Titanic)를 사용할 수 있습니다. 이 두 노드(Source 노드 및 Data Type 노드)는 클릭할 수 있는데, 이 두 노드를 두 번 클릭하면 Data Wrangler가 테이블을 표시합니다.

이 경우 데이터 유형(Data Types) 아이콘을 마우스 오른쪽 버튼으로 클릭하고 변환을 추가(Add transform)해보겠습니다.

이제 각 열 위에 시각화가 표시되어야 합니다. 차트가 로드될 때까지 약간의 시간이 필요한데 대기 시간은 데이터 세트의 크기에 따라 결정됩니다(Titanic 데이터 세트의 경우 기본 인스턴스에서 1-2초가 소요됨).

도구 설명 위로 마우스를 가져가 수평 상단 표시줄로 스크롤합니다. 이제 차트가 로드 되었으므로 데이터 분포, 유효하지 않은 값 및 누락된 값을 볼 수 있습니다. 유효하지 않은 값과 누락된 값은 잘못된 데이터의 특성이며 결과에 영향을 줄 수 있으므로 이를 식별하는 것이 중요합니다. 이는 귀하의 데이터가 대표성이 없는 샘플에서 나왔기 때문에 귀하의 연구 결과가 귀하의 연구 외부 상황에 일반화되지 않을 수 있음을 의미합니다. 값의 분류는 하단의 차트에서 볼 수 있으며 유효한 값(valid values)은 흰색, 유효하지 않은 값(invalid values)은 파란색, 누락된 값(missing values)은 보라색으로 표시됩니다. 차트의 왼쪽이나 오른쪽에 파란색 점으로 표시된 이상값(outliers, 역자주 ‘평균치에서 크게 벗어나서 다른 대상들과 확연히 구분되는 표본’)를 확인할 수 있습니다.

모든 시각화는 히스토그램의 형태로 제공됩니다. 비범주 데이터의 경우 버킷 세트는 각 그룹에 대해 정의됩니다. 범주형 데이터의 경우 각 고유 값은 구간차원으로 처리됩니다. 히스토그램 위에는 유효하지 않은 값과 누락된 값을 보여주는 막대 차트가 있습니다. Numeric, Categorical, Binary, Text 및 Datetime 유형에 대한 유효한 값의 비율과 총 null 및 빈 셀을 기준으로 누락된 값의 비율, 마지막으로 유효하지 않은 값의 비율을 볼 수 있습니다. Data Wrangler의 미리 로드된 샘플 Titanic Dataset을 사용하여 이러한 데이터를 볼 수 있는 방법을 이해하기 위해 몇 가지 예를 살펴보겠습니다.

예시 1AGE feature/열에 대한 20% 누락된 값을 볼 수 있습니다. 데이터 관련 연구/ML 분야에서 누락된 데이터를 제거하거나 대치(일부 추정으로 누락된 값 처리)하여 처리하는 것이 중요합니다.

결측값 처리(Handle missing values)  변환 그룹을 사용하여 결측값을 처리할 수 있습니다. Impute missing 변환을 사용하여 입력 열에서 누락된 값이 발견된 대체 값을 생성합니다. 구성은 데이터 유형에 따라 다릅니다.

이 예에서 AGE 열에는 숫자 데이터(Numeric) 유형이 있습니다. 대치 전략(Imputing strategy)의 경우 데이터 세트에 있는 값에 대한 평균(mean) 또는 대략적인 중간값(Approximate Median)을 대치하도록 선택할 수 있습니다.

이제 변환을 추가했으므로 AGE 열에 결측값(missing values)이 더 이상 없음을 알 수 있습니다.

예시2STRING 유형인 TICKET feature/열에 대해 27% 유효하지 않은 값을 볼 수 있습니다. 유효하지 않은 데이터는 편향된 추정치를 생성하여 모델의 정확도를 낮추고 잘못된 결론을 내릴 수 있습니다. TICKET 열의 유효하지 않은 데이터를 처리하기 위해 활용할 수 있는 몇 가지 변환을 살펴보겠습니다.

스크린샷을 보면 입력 중 일부는 숫자 “PC 17318” 앞에 알파벳이 포함된 형식으로 작성되고 다른 입력은 “11769“와 같이 숫자만 있는 것을 볼 수 있습니다.

변환을 적용하여 “PC“와 같은 문자열 내에서 특정 패턴을 검색 및 편집하고 교체하도록 선택할 수 있습니다. 다음으로 string열을 사용하기 쉽도록 Long과 같은 새로운 유형으로 캐스팅할 수 있습니다.

이로 인해 여전히 TICKET 기능에 19%의 누락된 값이 남아 있습니다. 예시 1과 유사하게 이제 평균 또는 대략적인 중간값(Approximate Median)을 사용하여 누락된 값을 대치할 수 있습니다.  TICKET feature에는 더 이상 아래 이미지에 따라 유효하지 않거나 누락된 값이 없어야 합니다.

리소스 정리하기

이 튜토리얼을 따른 후 요금이 발생하지 않도록 하려면 데이터 랭글러 앱(shut down the Data Wrangler app)을 종료해야 합니다.

마무리

이번 블로그에서는 각각의 feature에 대한 시각화 및 데이터 프로파일링 통찰력을 자동으로 표시하여 데이터 준비 중인 최종 사용자의 획일적인 과중한 작업을 제거하는데 도움이 되는 새로운 Amazon Sagemaker Data Wrangler 를 소개했습니다. 이 위젯을 사용하면 데이터 시각화(예: 범주형/비범주형 히스토그램), 데이터 품질 문제(예: 누락된 값 및 유효하지 않은 값) 및 데이터 통찰력(예: outliers, 역자주 ‘이상치’라고하여 일부 자료값들이 대다수의 다른 표본에 비해 매우 크거나 작은 극단적인 값을 갖는 것을 의미)을 쉽게 감지할 수 있습니다.

오늘부터 SageMaker Studio를 사용할 수 있는 모든 리전에서 이 기능을 사용할 수 있습니다. 시도해 보고 의견을 알려주세요. 일반적인 AWS 지원 연락처 또는 SageMaker용 AWS 포럼을 통해 항상 피드백을 기다리고 있습니다.

Youngjin Kim

Youngjin Kim

김영진 솔루션 아키텍트는 소프트웨어 개발자, DevOps 엔지니어 및 소프트웨어 아키텍트의 경험을 통해 엔터프라이즈 고객이 높은 수준의 아키텍처 설계 선택을 하고 AWS 서비스를 사용하여 사용 사례를 구축할 수 있도록 지원하고 있으며 현재는 AWS 기술 블로그 리딩과 삼성전자 무선사업부 서비스의 AWS 클라우드 전환을 지원하는 업무를 담당하고 있습니다.