Amazon SageMaker Processing을 사용한 간단한 사전 처리
8538 단어 AWSSageMakerSageMakerProcessing
그중 하나를 소개하고 싶습니다
Amazon SageMaker Processing.Amazon SageMaker Processing이란?
그럼 이것
Amazon SageMaker Processing이 원래 어떤 물건이었는지 한번 봅시다.공식 블로그에서
Amazon SageMaker의 새로운 기능으로, 데이터의 사전 처리 및 사후 처리, 모델의 평가 등 워크로드가 모든 관리 인프라에서 간단하게 수행되는 기능
이렇게 쓰여 있다.
즉, SageMaker에서 사용할 수 있는 간단한 사전 처리 기능입니다.
어떻게 사용하는지, 나는 정식으로 시위 행진을 해 보고 싶다.
실제로 이용해볼게요.
먼저 S3에서 사용된 데이터를 읽기 시작합니다.
이번에 사용된 데이터는 AME의 데이터에서 ID 표시줄과 적절하게 데이터를 손실한 것이다.
jupyter
import pandas as pd
prefix = 's3://sagemaker-first-tests/data'
data_dir=f'{prefix}/iris.csv'
df=pd.read_csv(data_dir)
df.to_csv('dataset.csv', index=False)
불러오면 미리 처리할 작업을 만듭니다.jupyter
import sagemaker
from sagemaker.sklearn.processing import SKLearnProcessor
sklearn_processor = SKLearnProcessor(
framework_version='0.20.0',
role=sagemaker.get_execution_role(),
instance_count=1,
instance_type='ml.m5.xlarge'
)
작업이 완료되면 사전 처리 스크립트를 실행합니다.jupyter
from sagemaker.processing import ProcessingInput, ProcessingOutput
sklearn_processor.run(
code='preprocessing.py',
inputs=[ProcessingInput(
source='dataset.csv',
destination='/opt/ml/processing/input'
)],
outputs=[ProcessingOutput(source='/opt/ml/processing/output/prepro_file')]
)
code에 사전 처리 스크립트를 지정합니다.이번에 jupter Home 바로 아래에서 제작된preprocessing.py을 지목했다.inputs에서 사전 처리를 할 데이터를 지정합니다.outputs에서 이전에 처리가 끝난 파일의 출력 위치를 지정합니다.또한 출력된 데이터는 기본 S3 파일로 출력됩니다.
이번 예처리 스크립트에서 결손값의 열이 수치 데이터일 때
0, 문자 데이터일 때NaN를 보충하고 데이터를 분할한다.코드는 다음과 같습니다.
preprocessing.py
import pandas as pd
import numpy as np
import os
from sklearn.model_selection import train_test_split
df = pd.read_csv('/opt/ml/processing/input/dataset.csv')
# 欠損値を0かNaNで埋める
for col_name in df:
if df[col_name].dtypes == 'object':
df[col_name] = df[col_name].fillna('NaN')
else:
df[col_name] = df[col_name].fillna(0)
# データ分割
train, test = train_test_split(df, test_size=0.2)
train, validation = train_test_split(train, test_size=0.2)
# outputファイルを作成
os.makedirs('/opt/ml/processing/output/prepro_file', exist_ok=True)
# データを保存
train.to_csv("/opt/ml/processing/output/prepro_file/train.csv", index=False)
validation.to_csv("/opt/ml/processing/output/prepro_file/validation.csv", index=False)
test.to_csv("/opt/ml/processing/output/prepro_file/test.csv", index=False)
이상은 집행 전 처리까지의 절차입니다.실제로 데이터를 유출해 봤는데 결과는 다음과 같다.
결손이 있는 줄은 파란색으로 대응하는 곳이 임의의 값으로 채워져 있음을 알 수 있다.
(전처리된 데이터는 ID순으로 정렬되어 이해하기 쉽지만 실제로는 무작위로 분산되어 있다.)
총결산
이번 사용
Amazon SageMaker Processing은 예처리를 시도했다.데이터의 분할과 손실 처리가 매우 간단하기 때문에 적극적으로 이용하고 싶습니다!
사이트 축소판 그림
Reference
이 문제에 관하여(Amazon SageMaker Processing을 사용한 간단한 사전 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/K-Nomu3/items/fc32d767d8279528ec7e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)