Amazon SageMaker Data Wrangler: 머신러닝을 위한 데이터 준비 간소화
심층 토론
기술적이지만 이해하기 쉬움
0 0 1
이 문서는 사전 요구 사항, 데이터 준비 및 타이타닉 데이터셋을 사용한 모델 학습을 포함하여 Amazon SageMaker Data Wrangler에 액세스하고 활용하는 방법에 대한 포괄적인 가이드를 제공합니다. 데이터를 가져오고, 변환을 적용하고, 데이터 흐름을 내보내는 단계별 지침이 포함되어 있습니다.
주요 포인트
독특한 통찰
실용적 응용
핵심 주제
핵심 통찰
학습 성과
• 주요 포인트
1
Data Wrangler 사용에 대한 자세한 단계별 지침
2
타이타닉 데이터셋을 사용한 실용적인 예제
3
데이터 준비 및 모델 학습에 대한 포괄적인 내용
• 독특한 통찰
1
데이터 가져오기를 위한 Amazon S3와 Data Wrangler의 통합
2
데이터 정리를 위한 내장 변환 및 사용자 지정 Python 코드 사용
• 실용적 응용
이 문서는 사용자가 머신러닝을 위한 데이터를 효과적으로 준비할 수 있도록 실용적인 지침을 제공하여 초보자와 숙련된 사용자 모두에게 가치가 있습니다.
Amazon SageMaker Data Wrangler는 Amazon SageMaker Studio Classic 내의 강력한 도구로, 머신러닝(ML) 프로젝트를 위한 데이터 준비 프로세스를 간소화하고 단순화하도록 설계되었습니다. 사용자 친화적인 시각적 인터페이스를 제공하여 데이터 과학자와 ML 엔지니어가 데이터를 효율적으로 가져오고, 분석하고, 변환하고, 내보낼 수 있도록 합니다. Data Wrangler를 사용하면 데이터 준비에 필요한 시간과 노력을 크게 줄여 모델 개발 및 배포에 더 집중할 수 있습니다. 이 포괄적인 가이드에서는 Data Wrangler 설정부터 데이터 조작 및 모델 학습을 위한 고급 기능 활용까지 필수적인 측면을 다룹니다.
“ Data Wrangler 사용 전 사전 요구 사항
Amazon SageMaker Data Wrangler를 사용하기 전에 필요한 사전 요구 사항을 충족했는지 확인해야 합니다. 여기에는 Amazon EC2 인스턴스 액세스, 필요한 보안 및 권한 구성, 활성 Studio Classic 인스턴스 보유가 포함됩니다.
1. **Amazon EC2 인스턴스**: Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 액세스할 수 있어야 합니다. 사용 가능한 인스턴스 유형 및 필요한 경우 할당량 증가 요청 방법에 대한 자세한 내용은 AWS 설명서를 참조하십시오.
2. **보안 및 권한**: 보안 및 권한 설명서에 설명된 대로 필요한 권한을 구성하십시오. 이렇게 하면 Data Wrangler 및 관련 AWS 서비스를 사용하는 데 적절한 액세스 권한이 있는지 확인할 수 있습니다.
3. **방화벽 액세스**: 조직에서 인터넷 트래픽을 차단하는 방화벽을 사용하는 경우 다음 URL에 액세스할 수 있는지 확인하십시오.
* `https://ui.prod-1.data-wrangler.sagemaker.aws/`
* `https://ui.prod-2.data-wrangler.sagemaker.aws/`
* `https://ui.prod-3.data-wrangler.sagemaker.aws/`
* `https://ui.prod-4.data-wrangler.sagemaker.aws/`
4. **활성 Studio Classic 인스턴스**: 활성 Studio Classic 인스턴스가 필요합니다. 아직 없는 경우 Amazon SageMaker AI 도메인 개요의 지침에 따라 새 인스턴스를 시작하십시오. KernelGateway 애플리케이션이 '준비' 상태인지 확인한 후 진행하십시오.
“ SageMaker Studio Classic에서 Data Wrangler 액세스
사전 요구 사항을 완료하면 다음 단계를 따라 SageMaker Studio Classic 내에서 Data Wrangler에 액세스할 수 있습니다.
1. **Studio Classic 로그인**: 자격 증명을 사용하여 SageMaker Studio Classic에 로그인하십시오. 자세한 내용은 Amazon SageMaker AI 도메인 개요를 참조하십시오.
2. **Studio 선택**: Studio 인터페이스로 이동하십시오.
3. **애플리케이션 시작**: 애플리케이션 드롭다운 목록에서 'Studio'를 선택하십시오.
4. **홈으로 이동**: 홈 아이콘을 선택하여 기본 대시보드에 액세스하십시오.
5. **데이터 선택**: '데이터' 옵션을 클릭하십시오.
6. **Data Wrangler 선택**: 'Data Wrangler'를 선택하여 애플리케이션을 시작하십시오.
또는 다음 단계를 따라 새 Data Wrangler 흐름을 만들 수 있습니다.
1. **파일 선택**: 상단 탐색 모음에서 '파일'을 선택하십시오.
2. **새로 만들기 선택**: '새로 만들기'를 선택하십시오.
3. **Data Wrangler 흐름 선택**: 'Data Wrangler 흐름'을 선택하십시오.
필요에 따라 새 디렉터리와 `.flow` 파일을 이름을 바꿀 수도 있습니다. Data Wrangler의 초기 로딩에는 몇 분이 걸릴 수 있으며, KernelGateway 애플리케이션이 준비될 때까지 캐러셀이 나타날 수 있습니다.
“ Data Wrangler 기능 탐색: 타이타닉 데이터셋 워크스루
Data Wrangler 사용 방법을 이해하는 데 도움이 되도록 이 섹션에서는 타이타닉 데이터셋을 사용하여 단계별로 설명합니다. 이 데이터셋에는 생존 여부, 나이, 성별, 등급 등 타이타닉 승객에 대한 정보가 포함되어 있습니다. 이 워크스루를 따르면 Data Wrangler를 사용하여 데이터를 가져오고, 분석하고, 변환하고, 내보내는 방법을 배울 수 있습니다.
**워크스루 단계:**
1. **Data Wrangler 흐름 열기**: 새 Data Wrangler 흐름을 열고 샘플 데이터셋 사용을 선택하거나, 타이타닉 데이터셋을 Amazon S3에 업로드하여 Data Wrangler로 가져옵니다.
2. **데이터셋 분석**: Data Wrangler의 분석 도구를 사용하여 데이터셋을 탐색하고 인사이트를 얻습니다.
3. **데이터 흐름 정의**: Data Wrangler의 데이터 변환 기능을 사용하여 데이터 흐름을 정의합니다.
4. **흐름 내보내기**: 흐름을 Jupyter 노트북으로 내보내 Data Wrangler 작업을 생성합니다.
5. **데이터 처리**: 데이터를 처리하고 XGBoost 이진 분류기를 학습시키기 위해 SageMaker 학습 작업을 시작합니다.
“ Data Wrangler를 사용한 데이터 가져오기 및 준비
다음 방법 중 하나를 사용하여 타이타닉 데이터셋을 Data Wrangler로 가져올 수 있습니다.
1. **Data Wrangler 흐름에서 직접 가져오기**: 흐름을 열고 '샘플 데이터셋 사용'을 선택합니다.
2. **Amazon S3에 업로드**: 데이터셋을 Amazon S3 버킷에 업로드한 다음 Data Wrangler로 가져옵니다.
데이터셋을 Amazon S3에 업로드하려면:
1. **타이타닉 데이터셋 다운로드**: 타이타닉 데이터셋을 다운로드합니다.
2. **S3에 업로드**: 이 데모에 사용할 AWS 리전의 Amazon S3 버킷에 데이터셋을 업로드합니다. Amazon S3 콘솔을 사용하여 파일을 드래그 앤 드롭할 수 있습니다.
데이터셋을 Amazon S3에 성공적으로 업로드한 후 Data Wrangler로 가져올 수 있습니다:
1. **데이터 가져오기 선택**: 데이터 흐름 탭에서 '데이터 가져오기' 버튼 또는 '가져오기' 탭을 선택합니다.
2. **Amazon S3 선택**: 'Amazon S3'를 선택합니다.
3. **데이터셋 찾기**: 가져오기 데이터셋 테이블을 사용하여 타이타닉 데이터셋을 추가한 버킷을 찾습니다. CSV 파일을 선택하여 세부 정보 창을 엽니다.
4. **세부 정보 구성**: 파일 형식이 CSV인지 확인하고 첫 번째 행이 헤더임을 나타내는 확인란을 선택합니다. 데이터셋에 'Titanic-train'과 같은 친숙한 이름을 지정할 수도 있습니다.
5. **가져오기**: '가져오기' 버튼을 선택합니다.
데이터셋을 가져온 후 데이터 흐름 탭에 표시됩니다. 노드를 두 번 클릭하여 노드 세부 정보 보기로 들어가 변환 또는 분석을 추가할 수 있습니다.
“ 데이터 분석 및 시각화
Data Wrangler는 데이터를 분석, 정리 및 변환하기 위한 내장 변환 및 시각화 기능을 제공합니다. 노드 세부 정보 보기의 오른쪽 패널에는 모든 내장 변환과 사용자 지정 변환을 추가하는 섹션이 나열됩니다.
**데이터 품질 및 인사이트 보고서 생성**
데이터에 대한 인사이트를 얻으려면 데이터 품질 및 인사이트 보고서를 생성하십시오. 이 보고서는 누락된 값 및 이상치와 같은 문제를 식별하는 데 도움이 됩니다. 또한 대상 누수 또는 불균형과 같은 잠재적인 문제에 대해서도 경고합니다.
**테이블 요약 생성**
1. **분석 추가**: 데이터 흐름의 데이터 유형 단계 옆에 있는 '+'를 선택하고 '분석 추가'를 선택합니다.
2. **테이블 요약 선택**: 분석 영역에서 드롭다운 목록에서 '테이블 요약'을 선택합니다.
3. **요약 이름 지정**: 테이블 요약에 이름을 지정합니다.
4. **미리 보기**: '미리 보기'를 선택하여 테이블의 미리 보기를 확인합니다.
5. **저장**: '저장'을 선택하여 데이터 흐름에 추가합니다. 데이터는 '모든 분석' 아래에 표시됩니다.
제공된 통계를 통해 평균 요금 및 'cabin', 'embarked', 'age'와 같은 열의 누락된 값 존재 여부와 같은 관찰을 할 수 있습니다.
“ Data Wrangler를 사용한 데이터 변환
데이터를 분석한 후 데이터 흐름에 변환을 추가하여 학습을 위해 데이터를 정리하고 준비할 수 있습니다. 수행할 수 있는 몇 가지 일반적인 변환은 다음과 같습니다.
**사용하지 않는 열 삭제**
1. **변환 추가**: 데이터 흐름의 데이터 유형 단계 옆에 있는 '+'를 선택하고 '변환 추가'를 선택합니다.
2. **열 관리 선택**: '모든 단계' 열에서 '단계 추가'를 선택한 다음 표준 변환 목록에서 '열 관리'를 선택합니다. '열 삭제'가 선택되었는지 확인합니다.
3. **삭제할 열 선택**: 학습에 사용하지 않을 열(예: 'cabin', 'ticket', 'name', 'sibsp', 'parch', 'home.dest', 'boat', 'body')을 선택합니다.
4. **미리 보기 및 추가**: '미리 보기'를 선택하여 열이 제거되었는지 확인한 다음 '추가'를 선택하여 변환을 흐름에 추가합니다.
**누락된 값 정리**
1. **누락된 값 처리 선택**: '누락된 값 처리'를 선택합니다.
2. **누락된 값 삭제 선택**: 변환기에서 '누락된 값 삭제'를 선택합니다.
3. **입력 열 선택**: 'age'와 같이 누락된 값이 있는 열을 선택합니다.
4. **미리 보기 및 추가**: '미리 보기'를 선택하여 새 데이터 프레임을 확인한 다음 '추가'를 선택하여 변환을 흐름에 추가합니다.
**Pandas를 사용한 사용자 지정 변환**
Pandas를 사용한 사용자 지정 변환을 사용하여 더 복잡한 데이터 조작을 수행할 수도 있습니다. 예를 들어 범주형 데이터에 원-핫 인코딩을 사용할 수 있습니다.
```python
import pandas as pd
dummies = []
cols = ['pclass','sex','embarked']
for col in cols:
dummies.append(pd.get_dummies(df[col]))
encoded = pd.concat(dummies, axis=1)
df = pd.concat((df, encoded),axis=1)
```
**SQL을 사용한 사용자 지정 변환**
SQL을 사용하여 추가 분석을 위해 특정 열을 선택할 수 있습니다.
```sql
SELECT survived, age, fare, 1, 2, 3, female, male, C, Q, S FROM df;
```
“ 데이터 흐름 내보내기 및 SageMaker와 통합
데이터 흐름을 만든 후에는 추가 사용을 위해 내보낼 수 있습니다. 일반적인 옵션은 Data Wrangler 작업 노트북으로 내보내는 것입니다. 이 프로세스는 Data Wrangler 데이터 흐름을 실행하기 위해 SageMaker 처리 작업을 구성하는 Jupyter 노트북을 자동으로 생성합니다.
**Data Wrangler 작업 노트북으로 내보내기**
1. **데이터 흐름 저장**: '파일'을 선택한 다음 'Data Wrangler 흐름 저장'을 선택합니다.
2. **데이터 흐름 탭으로 돌아가기**: 데이터 흐름 탭으로 돌아가서 데이터 흐름의 마지막 단계를 선택합니다.
3. **내보내기 선택**: '내보내기'를 선택한 다음 'Amazon S3(Jupyter Notebook 경유)'를 선택합니다. 그러면 Jupyter 노트북이 열립니다.
4. **커널 선택**: Python 3(데이터 과학) 커널을 선택합니다.
5. **노트북 실행**: 'SageMaker 학습 작업 시작(선택 사항)' 섹션에 도달할 때까지 노트북의 셀을 실행합니다.
SageMaker AI 콘솔의 '처리' 탭에서 Data Wrangler 작업의 상태를 모니터링할 수 있습니다. Amazon CloudWatch를 사용하여 Data Wrangler 작업을 모니터링할 수도 있습니다.
“ 준비된 데이터로 XGBoost 분류기 학습
Data Wrangler로 데이터를 준비한 후에는 Jupyter 노트북 또는 Amazon Autopilot을 사용하여 XGBoost 이진 분류기를 학습시킬 수 있습니다. Autopilot은 Data Wrangler 흐름에서 직접 변환된 데이터를 기반으로 모델을 자동으로 학습하고 최적화할 수 있습니다.
**Jupyter 노트북으로 학습**
Data Wrangler 작업을 시작한 동일한 노트북에서 준비된 데이터를 추출하고 최소한의 추가 데이터 준비로 XGBoost 이진 분류기를 학습시킬 수 있습니다.
1. **필요한 모듈 업그레이드**: pip를 사용하여 필요한 모듈을 업그레이드하고 `_SUCCESS` 파일을 제거합니다.
```bash
! pip install --upgrade awscli awswrangler boto sklearn
! aws s3 rm {output_path} --recursive --exclude "*" --include "*_SUCCESS*"
```
2. **Amazon S3에서 데이터 읽기**: awswrangler를 사용하여 S3 접두사에서 모든 CSV 파일을 재귀적으로 읽습니다. 그런 다음 데이터를 특징과 레이블로 분할합니다.
```python
import awswrangler as wr
df = wr.s3.read_csv(path=output_path, dataset=True)
X, y = df.iloc[:,:-1],df.iloc[:,-1]
```
3. **DMatrices 생성 및 교차 검증 수행**: DMatrices(XGBoost의 네이티브 데이터 구조)를 생성하고 XGBoost 이진 분류를 사용하여 교차 검증을 수행합니다.
```python
import xgboost as xgb
dmatrix = xgb.DMatrix(data=X, label=y)
params = {"objective":"binary:logistic",'learning_rate': 0.1, 'max_depth': 5, 'alpha': 10}
xgb.cv(
dtrain=dmatrix,
params=params,
nfold=3,
num_boost_round=50,
early_stopping_rounds=10,
metrics="rmse",
as_pandas=True,
seed=123)
```
“ Data Wrangler 업데이트 및 종료
최신 기능과 업데이트를 확보하려면 Data Wrangler Studio Classic 애플리케이션을 정기적으로 업데이트하는 것이 좋습니다. 업데이트하려면 Studio Classic 애플리케이션을 닫고 업데이트하는 방법에 대한 설명서를 참조하십시오.
Data Wrangler 사용을 마친 후에는 추가 비용이 발생하는 것을 방지하기 위해 실행 중인 인스턴스를 닫는 것이 좋습니다. 종료 방법에 대한 설명서를 참조하여 애플리케이션 및 관련 인스턴스를 종료하십시오.
우리는 사이트 작동에 필수적인 쿠키를 사용합니다. 사이트를 개선하기 위해 방문자들의 사용 방식을 이해하고, 소셜 미디어 플랫폼에서의 트래픽을 측정하며, 개인화된 경험을 제공하는 데 도움이 되는 추가 쿠키를 사용하고자 합니다. 일부 쿠키는 제3자가 제공합니다. 모든 쿠키를 수락하려면 '수락'을 클릭하세요. 선택적 쿠키를 모두 거부하려면 '거부'를 클릭하세요.
댓글(0)