AutoML API를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 작업 생성 - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AutoML API를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 작업 생성

Autopilot 또는 AWS CLI에서 지원하는 모든 언어로 CreateAutoMLJobV2 API를 호출하여 프로그래밍 방식으로 테이블 형식 데이터용 Autopilot 실험을 생성할 수 있습니다.

이 API 작업이 선택한 언어의 함수로 변환되는 방식에 대한 자세한 내용은 CreateAutoMLJobV2참고 항목 섹션을 참조하고 SDK를 선택하세요. 예를 들어, Python 사용자의 경우 AWS SDK for Python (Boto3)에서 create_auto_ml_job_v2의 전체 요청 구문을 참조하세요.

참고

CreateAutoMLJobv2 및 MLJobv2는 이전 버전과의 호환성을 제공하는 DescribeAutoMLJob 및 CreateAutoMLJob의 새 버전입니다. DescribeAuto

CreateAutoMLJobV2를 사용하는 것이 좋습니다. CreateAutoMLJobV2는 이전 버전인 CreateAutoMLJob과 동일한 표 형식 문제 유형은 물론 이미지 또는 텍스트 분류, 시계열 예측과 같은 표 형식이 아닌 문제 유형도 관리할 수 있습니다.

최소한 표 형식 데이터에 대한 모든 실험에는 실험 이름을 지정하고, 입력 및 출력 데이터의 위치를 제공하고, 예측할 대상 데이터를 지정해야 합니다. 선택적으로 해결하려는 문제 유형 (회귀, 분류, 멀티클래스 분류) 을 지정하고, 모델링 전략 (누적 앙상블 또는 하이퍼파라미터 최적화) 을 선택하고, 오토파일럿 작업에서 데이터를 훈련하는 데 사용하는 알고리즘 목록을 선택하는 등의 작업을 수행할 수 있습니다.

실험이 실행된 후 실험을 비교하고 각 모델의 전처리 단계, 알고리즘 및 하이퍼파라미터 범위의 세부 정보를 자세히 살펴볼 수 있습니다. 설명가능성성능 보고서를 다운로드할 수 있는 옵션도 있습니다. 제공된 노트북을 사용하여 자동화된 데이터 탐색 결과 또는 후보 모델 정의를 확인합니다.

다음은 CreateAutoMLJobV2 API 작업에 대한 필수 및 선택적 입력 요청 파라미터 모음입니다. 이 작업 CreateAutoMLJob의 이전 버전에 대한 대체 정보를 확인할 수 있습니다. 그러나 CreateAutoMLJobV2 사용을 권장합니다.

MLJob을 MLJobv2로 마이그레이션하십시오. CreateAuto CreateAuto 에서 CreateAutoMLJobCreateAutoMLJobV2로 마이그레이션하는 방법에 대한 지침을 확인하십시오.

필수 파라미터

CreateAutoMLJobV2

테이블 형식 데이터용 Autopilot 실험을 생성하기 위해 CreateAutoMLJobV2을 호출할 때는 다음 값을 제공해야 합니다.

  • 작업 이름을 지정하기 위한 AutoMLJobName.

  • 데이터 소스를 지정하려면 AutoMLJobInputDataConfig에서 하나 이상의 AutoMLJobChannel.

  • AutoMLJobObjective 지표 및 AutoMLProblemTypeConfig으로 선택한 지도 학습 문제 유형(바이너리 분류, 멀티클래스 분류, 회귀)을 모두 포함하거나 아예 포함하지 않을 수도 있습니다. 테이블 형식 데이터의 경우 AutoMLProblemTypeConfig 유형으로 TabularJobConfig을 선택해야 합니다. TabularJobConfigProblemType 속성에 지도 학습 문제를 설정합니다.

  • AutoML 작업의 아티팩트를 저장할 Amazon S3 출력 경로를 지정하기 위한 OutputDataConfig.

  • 데이터 액세스에 사용되는 역할의 ARN을 지정하기 위한 RoleArn.

CreateAutoMLJob

AutoML 실험을 생성하기 위한 CreateAutoMLJob을 호출할 때는 다음과 같은 네 가지 값을 제공해야 합니다.

  • 작업 이름을 지정하기 위한 AutoMLJobName.

  • 데이터 소스를 지정하려면 InputDataConfig에서 하나 이상의 AutoMLChannel.

  • AutoML 작업의 아티팩트를 저장할 Amazon S3 출력 경로를 지정하기 위한 OutputDataConfig.

  • 데이터 액세스에 사용되는 역할의 ARN을 지정하기 위한 RoleArn.

다른 모든 파라미터는 선택 사항입니다.

선택적 파라미터

다음 섹션에서는 테이블 형식 데이터를 사용할 때 CreateAutoMLJobV2 API 작업에 전달할 수 있는 몇 가지 선택적 파라미터에 대한 세부 정보를 제공합니다. 이 작업 CreateAutoMLJob의 이전 버전에 대한 대체 정보를 확인할 수 있습니다. 그러나 CreateAutoMLJobV2 사용을 권장합니다.

테이블 형식 데이터의 경우 모델 후보를 훈련시키기 위해 데이터에서 실행되는 알고리즘 세트는 모델링 전략(ENSEMBLING 또는 HYPERPARAMETER_TUNING)에 따라 달라집니다. 다음에서는 이 훈련 모드를 설정하는 방법을 자세히 설명합니다.

공백(또는null)으로 유지하면 데이터 세트의 크기를 기반으로 Mode를 추론합니다.

Autopilot 누적 앙상블하이퍼파라미터 최적화 훈련 방법에 대한 자세한 내용은 훈련 모드 및 알고리즘 지원을 참조하십시오.

CreateAutoMLJobV2

테이블 형식 데이터의 경우 AutoMLProblemTypeConfig 유형으로 TabularJobConfig을 선택해야 합니다.

TabularJobConfig.Mode 파라미터를 사용하여 AutoML 작업 V2의 훈련 방법을 설정할 수 있습니다.

CreateAutoMLJob

AutoMLJobConfig.Mode 파라미터를 사용하여 AutoML 작업의 훈련 방법을 설정할 수 있습니다.

기능 선택

Autopilot은 기능 선택 및 기능 추출을 포함한 자동 데이터 사전 처리 단계를 제공합니다. 하지만 FeatureSpecificatioS3Uri 속성과 함께 훈련에 사용할 기능을 수동으로 제공할 수도 있습니다.

선택한 기능은 JSON 파일에 다음 형식으로 포함되어야 합니다.

{ "FeatureAttributeNames":["col1", "col2", ...] }

["col1", "col2", ...]에 나열된 값은 대소문자를 구분합니다. 입력 데이터에 있는 열 이름의 서브셋인 고유한 값을 포함하는 문자열 목록이어야 합니다.

참고

기능으로 제공된 열 목록에는 대상 열을 포함할 수 없습니다.

CreateAutoMLJobV2

테이블 형식 데이터의 경우 AutoMLProblemTypeConfig 유형으로 TabularJobConfig을 선택해야 합니다.

TabularJobConfig.FeatureSpecificatioS3Uri 파라미터를 사용하여 선택한 기능의 URL을 설정할 수 있습니다.

CreateAutoMLJob

CreateAutoMLJob API CandidateGenerationConfig 내에서 다음과 같은 형식으로 AutoML의 FeatureSpecificatioS3Uri 속성을 설정할 수 있습니다.

{ "AutoMLJobConfig": { "CandidateGenerationConfig": { "FeatureSpecificationS3Uri":"string" }, } }

알고리즘 선택

기본적으로 Autopilot 작업은 데이터 세트에서 사전 정의된 알고리즘 목록을 실행하여 모델 후보를 학습시킵니다. 알고리즘 목록은 작업에 사용되는 훈련 모드(ENSEMBLING또는HYPERPARAMETER_TUNING)에 따라 달라집니다.

알고리즘 기본 선택 사항의 서브셋을 제공할 수 있습니다.

CreateAutoMLJobV2

테이블 형식 데이터의 경우 AutoMLProblemTypeConfig 유형으로 TabularJobConfig을 선택해야 합니다.

AutoMLAlgorithms AlgorithmsConfig 속성에서 선택한 배열을 지정할 수 있습니다. CandidateGenerationConfig

다음은 앙상블 훈련 모드에서 AutoMLAlgorithms 필드의 세 가지 알고리즘(“xgboost”, “fastai”, “catboost”)을 정확히 나열하는 AlgorithmsConfig 속성의 예입니다.

{ "AutoMLProblemTypeConfig": { "TabularJobConfig": { "Mode": "ENSEMBLING", "CandidateGenerationConfig": { "AlgorithmsConfig":[ {"AutoMLAlgorithms":["xgboost", "fastai", "catboost"]} ] }, }, }, }
CreateAutoMLJob

CandidateGenerationConfigAutoML의 AutoMLAlgorithmsAlgorithmsConfig 속성에서 선택한 배열을 지정할 수 있습니다.

다음은 앙상블 훈련 모드에서 AutoMLAlgorithms 필드의 세 가지 알고리즘(“xgboost”, “fastai”, “catboost”)을 정확히 나열하는 AlgorithmsConfig 속성의 예입니다.

{ "AutoMLJobConfig": { "CandidateGenerationConfig": { "AlgorithmsConfig":[ {"AutoMLAlgorithms":["xgboost", "fastai", "catboost"]} ] }, "Mode": "ENSEMBLING" }

훈련 Mode에 따라 사용 가능한 알고리즘 목록은 AutoMLAlgorithms을 참조하십시오. 각 알고리즘에 대한 자세한 내용은 훈련 모드 및 알고리즘 지원을 참조하십시오.

자체 검증 데이터 세트와 사용자 지정 데이터 분할 비율을 제공하거나 Autopilot이 데이터 세트를 자동으로 분할하도록 할 수 있습니다.

CreateAutoMLJobV2

AutoMLJobChannel개체 (필수 매개변수 AutoML 참조JobInputDataConfig) 에는 기계 학습 모델을 구축할 때 데이터를 사용하는 방법을 지정하는 validation 값 중 하나로 training 설정할 수 있는 a가 있습니다. ChannelType 데이터 소스를 하나 이상 제공해야 하며 학습 데이터용 및 검증 데이터용으로 최대 두 개의 데이터 소스가 허용됩니다.

데이터를 학습 및 검증 데이터 세트로 분할하는 방법은 데이터 원본이 한 개 또는 두 개인지에 따라 달라집니다.

  • 데이터 소스가 하나뿐인 경우 ChannelType은 기본적으로 training으로 설정되며 이 값을 가져야 합니다.

    • AutoMLDataSplitConfigValidationFraction 값이 설정되지 않은 경우, 기본적으로 이 소스의 데이터 중 0.2(20%)가 검증에 사용됩니다.

    • ValidationFraction를 0과 1 사이의 값으로 설정하면 데이터 세트가 지정된 값을 기준으로 분할됩니다. 여기서 값은 검증에 사용되는 데이터 세트의 비율을 지정합니다.

  • 데이터 소스가 두 개 있는 경우, AutoMLJobChannel 개체 중 하나의 ChannelType을/를 기본값인 training으로 설정해야 합니다. 다른 데이터 소스의 ChannelType은(는) validation으로 설정해야 합니다. 두 데이터 소스는 CSV 또는 Parquet으로 형식이 같고 스키마가 같아야 합니다. 각 원본의 모든 데이터가 학습 또는 검증에 사용되므로 이 경우에는 ValidationFraction의 값을 설정하지 않아야 합니다. 이 값을 설정하면 오류가 발생합니다.

CreateAutoMLJob

AutoMLChannel개체 (필수 매개 변수 참조 InputDataConfig) 에는 기계 학습 모델을 구축할 때 데이터를 사용하는 방법을 지정하는 validation 값 중 하나로 training 설정할 수 있는 값이 있습니다. ChannelType 데이터 소스를 하나 이상 제공해야 하며 학습 데이터용 및 검증 데이터용으로 최대 두 개의 데이터 소스가 허용됩니다.

데이터를 학습 및 검증 데이터 세트로 분할하는 방법은 데이터 원본이 한 개 또는 두 개인지에 따라 달라집니다.

  • 데이터 소스가 하나뿐인 경우 ChannelType은 기본적으로 training으로 설정되며 이 값을 가져야 합니다.

    • AutoMLDataSplitConfigValidationFraction 값이 설정되지 않은 경우, 기본적으로 이 소스의 데이터 중 0.2(20%)가 검증에 사용됩니다.

    • ValidationFraction를 0과 1 사이의 값으로 설정하면 데이터 세트가 지정된 값을 기준으로 분할됩니다. 여기서 값은 검증에 사용되는 데이터 세트의 비율을 지정합니다.

  • 데이터 소스가 두 개 있는 경우, AutoMLChannel 개체 중 하나의 ChannelType을/를 기본값인 training으로 설정해야 합니다. 다른 데이터 소스의 ChannelType은(는) validation으로 설정해야 합니다. 두 데이터 소스는 CSV 또는 Parquet으로 형식이 같고 스키마가 같아야 합니다. 각 원본의 모든 데이터가 학습 또는 검증에 사용되므로 이 경우에는 ValidationFraction의 값을 설정하지 않아야 합니다. 이 값을 설정하면 오류가 발생합니다.

Autopilot의 분할 및 교차 검증에 대한 자세한 내용은 Autopilot에서의 교차 검증을 참조하십시오.

CreateAutoMLJobV2

테이블 형식 데이터의 경우 AutoMLProblemTypeConfig 유형으로 TabularJobConfig을 선택해야 합니다.

TabularJobConfig.ProblemType 파라미터를 사용하여 AutoML 작업 V2의 모델 후보에 사용할 수 있는 지도 학습 문제의 유형(바이너리 분류, 멀티클래스 분류, 회귀)을 추가로 지정할 수 있습니다.

CreateAutoMLJob

CreateAutoPilot.ProblemType 파라미터를 사용하여 AutoML 작업에서 문제 유형을 설정할 수 있습니다. 이것은 Autopilot에서 시도하는 사전 처리 및 알고리즘의 종류를 제한합니다. 작업이 완료되고 CreateAutoPilot.ProblemType을 설정하면 ResolvedAttribute.ProblemType은 사용자가 설정한 ProblemType과 일치하게 됩니다. 이를 공백(또는null)으로 유지하면 사용자를 대신하여 ProblemType를 추론합니다.

참고

경우에 따라 Autopilot이 ProblemType을 충분한 신뢰도로 추론할 수 없으며, 이 경우에는 사용자가 값을 제공해야 작업을 성공적으로 수행할 수 있습니다.

테이블 형식 데이터 세트에 샘플 가중치 열을 추가한 다음 이를 AutoML 작업에 전달하여 훈련 및 평가 중에 데이터 세트 행에 가중치를 적용하도록 요청할 수 있습니다.

샘플 가중치에 대한 지원은 앙상블 모드에서만 사용할 수 있습니다. 가중치는 음수가 아닌 숫자여야 합니다. 가중치 값이 유효하지 않거나 없는 데이터 포인트는 제외됩니다. 사용 가능한 객체 지표에 대한 자세한 내용은 Autopilot 가중치 지표을 참조하십시오.

CreateAutoMLJobV2

테이블 형식 데이터의 경우 AutoMLProblemTypeConfig 유형으로 TabularJobConfig을 선택해야 합니다.

실험을 만들 때 샘플 가중치를 설정하려면 (CreateAutoMLJobv2 참조) 개체 속성에 샘플 가중치 열의 이름을 전달할 수 있습니다. SampleWeightAttributeName TabularJobConfig 이렇게 하면 목표 지표에서 모델 후보 훈련, 평가 및 선택의 가중치를 사용할 수 있습니다.

CreateAutoMLJob

실험을 만들 때 샘플 가중치를 설정하려면 (CreateAutoMLJob 참조) AutoMLChannel 객체의 속성에 샘플 가중치 열의 이름을 전달하면 됩니다. SampleWeightAttributeName 이렇게 하면 목표 지표에서 모델 후보 훈련, 평가 및 선택의 가중치를 사용할 수 있습니다.

MLJob을 MLJobv2로 마이그레이션하십시오. CreateAuto CreateAuto

CreateAutoMLJob 사용자는 CreateAutoMLJobV2로 마이그레이션하는 것이 좋습니다.

이 섹션에서는 두 버전 간의 입력 요청 개체와 속성의 위치, 이름 또는 구조 변경 사항을 강조하여 CreateAutoCreateAutoMLJob과 MLJobv2 간의 입력 매개 변수 차이점을 설명합니다.

  • 버전 간 변경 사항이 없는 속성을 요청합니다.

    { "AutoMLJobName": "string", "AutoMLJobObjective": { "MetricName": "string" }, "ModelDeployConfig": { "AutoGenerateEndpointName": boolean, "EndpointName": "string" }, "OutputDataConfig": { "KmsKeyId": "string", "S3OutputPath": "string" }, "RoleArn": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }
  • 버전 간 위치 및 구조를 변경한 속성을 요청합니다.

    DataSplitConfig, Security Config, CompletionCriteria, Mode, FeatureSpecificationS3Uri, SampleWeightAttributeName, TargetAttributeName 속성은 위치를 변경했습니다.

    CreateAutoMLJob
    { "AutoMLJobConfig": { "Mode": "string", "CompletionCriteria": { "MaxAutoMLJobRuntimeInSeconds": number, "MaxCandidates": number, "MaxRuntimePerTrainingJobInSeconds": number }, "DataSplitConfig": { "ValidationFraction": number }, "SecurityConfig": { "EnableInterContainerTrafficEncryption": boolean, "VolumeKmsKeyId": "string", "VpcConfig": { "SecurityGroupIds": [ "string" ], "Subnets": [ "string" ] } }, "CandidateGenerationConfig": { "FeatureSpecificationS3Uri": "string" } }, "GenerateCandidateDefinitionsOnly": boolean, "ProblemType": "string" }
    CreateAutoMLJobV2
    { "AutoMLProblemTypeConfig": { "TabularJobConfig": { "Mode": "string", "ProblemType": "string", "GenerateCandidateDefinitionsOnly": boolean, "CompletionCriteria": { "MaxAutoMLJobRuntimeInSeconds": number, "MaxCandidates": number, "MaxRuntimePerTrainingJobInSeconds": number }, "FeatureSpecificationS3Uri": "string", "SampleWeightAttributeName": "string", "TargetAttributeName": "string" } }, "DataSplitConfig": { "ValidationFraction": number }, "SecurityConfig": { "EnableInterContainerTrafficEncryption": boolean, "VolumeKmsKeyId": "string", "VpcConfig": { "SecurityGroupIds": [ "string" ], "Subnets": [ "string" ] } } }
  • 다음 속성은 버전 간 위치 및 구조를 변경했습니다.

    다음 JSON은 AutoML의 JobConfig 방법을 보여줍니다. CandidateGenerationConfigAutoML 유형의 유형이 CandidateGenerationConfig AutoML로 이동되었습니다. ProblemTypeConfig TabularJobConfig. CandidateGenerationConfigCandidateGenerationConfigV2에서 사용할 수 있습니다.

    CreateAutoMLJob
    { "AutoMLJobConfig": { "CandidateGenerationConfig": { "AlgorithmsConfig": [ { "AutoMLAlgorithms": [ "string" ] } ], "FeatureSpecificationS3Uri": "string" } }
    CreateAutoMLJobV2
    { "AutoMLProblemTypeConfig": { "TabularJobConfig": { "CandidateGenerationConfig": { "AlgorithmsConfig": [ { "AutoMLAlgorithms": [ "string" ] } ], }, } }, }
  • 이름 및 구조를 변경한 속성을 요청합니다.

    다음 JSON은 V2에서 InputDataConfig(AutoMLChannel의 배열) 이 어떻게 AutoML (AutoML의 JobInputDataConfig 배열) 로 변경되었는지 보여줍니다. JobChannel 속성 SampleWeightAttributeNameTargetAttributeNameInputDataConfig에서 나와 AutoMLProblemTypeConfig로 이동합니다.

    CreateAutoMLJob
    { "InputDataConfig": [ { "ChannelType": "string", "CompressionType": "string", "ContentType": "string", "DataSource": { "S3DataSource": { "S3DataType": "string", "S3Uri": "string" } }, "SampleWeightAttributeName": "string", "TargetAttributeName": "string" } ] }
    CreateAutoMLJobV2
    { "AutoMLJobInputDataConfig": [ { "ChannelType": "string", "CompressionType": "string", "ContentType": "string", "DataSource": { "S3DataSource": { "S3DataType": "string", "S3Uri": "string" } } } ] }