데이터 재배열 - Amazon Machine Learning

더 이상 Amazon Machine Learning 서비스를 업데이트하거나 새 사용자를 받지 않습니다. 이 설명서는 기존 사용자에 제공되지만 더 이상 업데이트되지 않습니다. 자세한 내용은 Amazon Machine Learning이란? 단원을 참조하세요.

데이터 재배열

데이터 재배열 특성을 사용하면 입력 데이터가 가리키는 일부 데이터만 기반으로 하는 데이터 소스를 만들 수 있습니다. 예를 들어 Amazon ML 콘솔에서 ML 모델 생성 마법사를 사용하여 ML 모델을 생성하고 기본 평가 옵션을 선택하면 Amazon ML이 자동으로 데이터의 30%를 ML 모델 평가를 위해 예약하고 나머지 70%는 학습에 사용합니다. 이 기능은 Amazon ML의 데이터 재배열 특성을 통해 활성화됩니다.

Amazon ML API를 사용하여 데이터 소스를 생성하는 경우 새 데이터 소스의 기반이 되는 입력 데이터 부분을 지정할 수 있습니다. DataRearrangement 파라미터의 지침을 CreateDataSourceFromS3, CreateDataSourceFromRedshift 또는 CreateDataSourceFromRDS API에 전달하면 됩니다 DataRearrangement 문자열의 내용은 데이터의 시작 위치와 끝 위치를 포함하고 있는 JSON 문자열로, 백분율, 보완 플래그 및 분할 전략으로 표현됩니다. 예를 들어, 다음 데이터 재배열 문자열은 데이터의 처음 70%가 데이터 소스를 만드는 데 사용되도록 지정합니다.

{ "splitting": { "percentBegin": 0, "percentEnd": 70, "complement": false, "strategy": "sequential" } }

데이터 재배열 파라미터

Amazon ML이 데이터 소스를 생성하는 방식을 변경하려면 다음 파라미터를 사용합니다.

PercentBegin(선택 사항)

percentBegin을 사용하면 데이터 소스의 데이터가 시작되는 위치를 지정할 수 있습니다. percentBeginpercentEnd를 포함시키지 않으면 Amazon ML은 데이터 소스를 생성할 때 모든 데이터를 포함시킵니다.

유효한 값은 0 ~ 100(포함)입니다.

PercentEnd(선택 사항)

percentEnd를 사용하면 데이터 소스의 데이터가 끝나는 위치를 지정할 수 있습니다. percentBeginpercentEnd를 포함시키지 않으면 Amazon ML은 데이터 소스를 생성할 때 모든 데이터를 포함시킵니다.

유효한 값은 0 ~ 100(포함)입니다.

Complement(선택 사항)

complement 파라미터는 Amazon ML에 percentBegin ~ percentEnd의 범위에 포함되지 않은 데이터를 사용하여 데이터 소스를 생성하도록 지시합니다. 이 complement 파라미터는 학습 및 평가를 위한 보완적인 데이터 소스를 생성해야 하는 경우에 유용합니다. 보완적인 데이터 소스를 만들려면 complement 파라미터와 함께 percentBeginpercentEnd에 동일한 값을 사용합니다.

예를 들어, 다음 두 데이터 소스는 데이터를 공유하지 않으므로 모델을 학습하고 평가하는 데 사용할 수 있습니다. 첫 번째 데이터 소스에는 데이터의 25%가 있고, 두 번째 데이터 소스에는 75%가 있습니다.

평가용 데이터소스:

{ "splitting":{ "percentBegin":0, "percentEnd":25 } }

학습용 데이터 소스:

{ "splitting":{ "percentBegin":0, "percentEnd":25, "complement":"true" } }

유효한 값은 truefalse입니다.

Strategy(선택 사항)

Amazon ML이 데이터 소스의 데이터를 분할하는 방식을 변경하려면 strategy 파라미터를 사용합니다.

strategy 파라미터의 기본값은 sequential입니다. 즉, Amazon ML이 데이터 소스의 percentBeginpercentEnd 파라미터 사이에 있는 모든 데이터 레코드를 입력 데이터에 나타나는 순서대로 가져옵니다.

다음 두 DataRearrangement 줄은 순차적으로 정렬된 학습 및 평가 데이터 소스의 예입니다.

평가용 데이터 소스: {"splitting":{"percentBegin":70, "percentEnd":100, "strategy":"sequential"}}

학습용 데이터 소스: {"splitting":{"percentBegin":70, "percentEnd":100, "strategy":"sequential", "complement":"true"}}

무작위로 선택한 데이터에서 데이터 소스를 만들려면 strategy 파라미터를 random로 설정하고 무작위 데이터 분할의 시드 값으로 사용되는 문자열을 입력합니다. 예를 들어 데이터에 대한 S3 경로를 무작위 시드 문자열로 사용할 수 있습니다. 무작위 분할 전략을 선택하면 Amazon ML이 각 데이터 행에 유사 난수를 할당한 다음, percentBegin ~ percentEnd 사이의 숫자가 할당된 행을 선택합니다. 바이트 오프셋을 시드로 사용하여 유사 난수를 할당하므로 데이터를 변경하면 분할이 달라집니다. 기존 순서는 모두 보존됩니다. 무작위 분할 전략을 사용하면 학습 데이터와 평가 데이터의 변수가 비슷하게 분포됩니다. 입력 데이터에 암시적인 정렬 순서가 있어서 학습 및 평가 데이터 소스에 유사하지 않은 데이터 레코드가 포함되는 경우에 유용합니다.

다음 두 DataRearrangement 줄은 순차적으로 정렬되지 않은 학습 및 평가 데이터 소스의 예입니다.

평가용 데이터 소스:

{ "splitting":{ "percentBegin":70, "percentEnd":100, "strategy":"random", "strategyParams": { "randomSeed":"RANDOMSEED" } } }

학습용 데이터 소스:

{ "splitting":{ "percentBegin":70, "percentEnd":100, "strategy":"random", "strategyParams": { "randomSeed":"RANDOMSEED" } "complement":"true" } }

유효한 값은 sequentialrandom입니다.

(선택 사항) Strategy:RandomSeed

Amazon ML이 randomSeed를 사용하여 데이터를 분할합니다. API의 기본 시드는 빈 문자열입니다. 무작위 분할 전략의 시드를 지정하려면 문자열을 전달합니다. 무작위 시드에 대한 자세한 내용은 Amazon Machine Learning 개발자 안내서데이터 무작위 분할 단원을 참조하세요.

Amazon ML에서 교차 검증을 사용하는 방법을 보여주는 샘플 코드는 Github 기계 학습 샘플 단원을 참조하세요.