As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Crie trabalhos de regressão ou classificação para dados tabulares com a API do AutoML
É possível criar um trabalho de regressão ou classificação do Autopilot para dados tabulares de forma programática chamando a ação CreateAutoMLJobV2
da API em qualquer linguagem compatível com o Autopilot ou a AWS CLI. Veja a seguir uma coleção de parâmetros de solicitação de entrada obrigatórios e opcionais para a ação da CreateAutoMLJobV2
API. É possível encontrar as informações alternativas para a versão anterior dessa ação, CreateAutoMLJob
. No entanto, recomendamos usar CreateAutoMLJobV2
.
Para obter informações sobre como essa ação da API se traduz em uma função no idioma de sua escolha, consulte a seção Consulte também de CreateAutoMLJobV2
e escolha um SDK. Como exemplo, para usuários do Python, veja a sintaxe completa da solicitação de create_auto_ml_job_v2
em AWS SDK for Python (Boto3).
nota
CreateAutoMLJobV2 e DescribeAutoMLJobV2 são novas versões CreateAutoMLJobe DescribeAutoMLJoboferecem compatibilidade com versões anteriores.
Recomendamos usar CreateAutoMLJobV2
. O CreateAutoMLJobV2
pode gerenciar tipos de problemas tabulares idênticos aos da versão anterior CreateAutoMLJob
, bem como tipos de problemas não tabulares, como classificação de imagens, textos ou previsão de séries temporais.
No mínimo, todos os experimentos com dados tabulares exigem a especificação do nome do experimento, fornecendo locais para os dados de entrada e saída e especificando quais dados-alvo prever. Opcionalmente, você também pode especificar o tipo de problema que deseja resolver (regressão, classificação, classificação multiclasse), escolha a estratégia de modelagem (conjuntos empilhados ou otimização de hiperparâmetros), selecione a lista de algoritmos usados pelo trabalho do Autopilot para treinar os dados e muito mais.
Depois de executado o experimento, você pode comparar os testes e se aprofundar nos detalhes das etapas de pré-processamento, dos algoritmos e dos intervalos de hiperparâmetros de cada modelo. Você também tem a opção de baixar seus relatórios de explicabilidade e desempenho. Use os cadernos fornecidos para ver os resultados da exploração automatizada de dados ou as definições do modelo candidato.
Encontre diretrizes sobre como migrar um CreateAutoMLJob
para CreateAutoMLJobV2
em Migrar a CreateAuto MLJob para CreateAuto MLJob a V2.
Parâmetros necessários
Todos os outros parâmetros são opcionais.
Parâmetros opcionais
As seções a seguir fornecem detalhes de alguns parâmetros opcionais que você pode passar para sua ação de CreateAutoMLJobV2
API ao usar dados tabulares. É possível encontrar as informações alternativas para a versão anterior dessa ação, CreateAutoMLJob
. No entanto, recomendamos usar CreateAutoMLJobV2
.
Para dados tabulares, o conjunto de algoritmos executados em seus dados para treinar seus candidatos a modelo depende de sua estratégia de modelagem (ENSEMBLING
ou HYPERPARAMETER_TUNING
). O seguinte detalha como configurar esse modo de treinamento:
Se você mantiver em branco (ounull
), Mode
isso será inferido com base no tamanho do seu conjunto de dados.
Para obter informações sobre os conjuntos empilhados e os métodos de treinamento de otimização de hiperparâmetros do Autopilot, consulte Modos de treinamento e compatibilidade com algoritmos
Seleção de atributos
O Autopilot fornece etapas automáticas de pré-processamento de dados, incluindo seleção e extração de atributos. No entanto, você pode fornecer manualmente os atributos a serem usados no treinamento com o FeatureSpecificatioS3Uri
atributo.
Os atributos selecionados devem estar contidos em um arquivo JSON no seguinte formato:
{ "FeatureAttributeNames":["col1", "col2", ...] }
Os valores listados ["col1", "col2", ...]
diferenciam letras maiúsculas de minúsculas. Eles devem ser uma lista de cadeias de caracteres contendo valores exclusivos que são subconjuntos dos nomes das colunas nos dados de entrada.
nota
A lista de colunas fornecida como atributos não pode incluir a coluna de destino.
Seleção de algoritmos
Por padrão, seu trabalho do Autopilot executa uma lista predefinida de algoritmos em seu conjunto de dados para treinar candidatos a modelos. A lista de algoritmos depende do modo de treinamento (ENSEMBLING
ou HYPERPARAMETER_TUNING
) usado pelo trabalho.
É possível fornecer um subconjunto da seleção padrão de algoritmos.
Para ver a lista de algoritmos disponíveis por treinamentoMode
, consulte AutoMLAlgorithms
. Para obter detalhes sobre cada algoritmo, consulte Modos de treinamento e compatibilidade com algoritmos.
Você pode fornecer seu próprio conjunto de dados da validação e taxa de divisão de dados personalizada, ou deixar o Autopilot dividir o conjunto de dados automaticamente.
Para obter informações sobre divisão e validação cruzada no Autopilot, consulte Validação cruzada no Autopilot.
nota
Em alguns casos, o Autopilot não consegue inferir o ProblemType
com confiança alta o suficiente, caso em que é necessário fornecer o valor para o trabalho ter êxito.
É possível adicionar uma coluna de pesos de amostra ao seu conjunto de dados tabular e depois passá-la para sua tarefa do AutoML para solicitar que as linhas do conjunto de dados sejam ponderadas durante o treinamento e a avaliação.
O compatibilidade com pesos de amostra está disponível somente no modo de agrupamento. Seus pesos devem ser numéricos e não negativos. Os pontos de dados com valor de peso inválido ou sem valor são excluídos. Para obter mais informações sobre as métricas objetivas disponíveis, consulte Métricas ponderadas do Autopilot.
Você pode configurar o seu trabalho AutoML V2 para iniciar automaticamente um trabalho remoto no Amazon EMR Sem Servidor quando recursos computacionais adicionais forem necessários para processar grandes conjuntos de dados. Ao fazer a transição perfeita para o EMR Sem Servidor quando necessário, o trabalho do AutoML pode lidar com conjuntos de dados que, de outra forma, excederiam os recursos inicialmente provisionados, sem nenhuma intervenção manual de sua parte. O EMR Sem Servidor está disponível para os tipos de problemas tabulares e de séries temporais. Recomendamos configurar essa opção para conjuntos de dados tabulares maiores que 5 GB.
Para permitir que o seu trabalho de AutoML V2 faça a transição automática para o EMR Sem Servidor de um grande conjunto de dados, você precisa fornecer um objeto EmrServerlessComputeConfig
, que inclua um campo ExecutionRoleARN
, para a AutoMLComputeConfig
da solicitação de entrada do trabalho de AutoML V2.
Esse ExecutionRoleARN
é o ARN do perfil do IAM que concede ao trabalho de AutoML V2 as permissões necessárias para executar trabalhos do EMR Sem Servidor.
Esse perfil deve ter a seguinte relação de confiança:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
E conceder as permissões para:
-
Criar, listar e atualizar aplicações do EMR Sem Servidor.
-
Iniciar, listar, obter ou cancelar execuções de trabalhos em uma aplicação do EMR Sem Servidor.
-
Marcar os recursos do EMR Sem Servidor.
-
Passar um perfil do IAM para o serviço do EMR Sem Servidor para execução.
Ao conceder a permissão
iam:PassRole
, o trabalho de AutoML V2 pode assumir temporariamente o perfilEMRServerlessRuntimeRole-*
e passá-lo para o serviço EMR Sem Servidor. Essas são as funções do IAM usadas pelos ambientes de execução de tarefas do EMR Serverless para acessar outros AWS serviços e recursos necessários durante o tempo de execução, como o Amazon S3 para acesso a dados, registro em log, CloudWatch acesso ao catálogo de dados ou outros serviços com base em AWS Glue seus requisitos de carga de trabalho.Consulte Perfis de runtime do trabalho para o Amazon EMR Sem Servidor para obter detalhes sobre as permissões deste perfil.
A política do IAM definida no documento JSON fornecido concede essas permissões:
{ "Version": "2012-10-17", "Statement": [{ + "Sid": "EMRServerlessCreateApplicationOperation", + "Effect": "Allow", + "Action": "emr-serverless:CreateApplication", + "Resource": "arn:aws:emr-serverless:*:*:/*", + "Condition": { + "StringEquals": { + "aws:RequestTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessListApplicationOperation", + "Effect": "Allow", + "Action": "emr-serverless:ListApplications", + "Resource": "arn:aws:emr-serverless:*:*:/*", + "Condition": { + "StringEquals": { + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessApplicationOperations", + "Effect": "Allow", + "Action": [ + "emr-serverless:UpdateApplication", + "emr-serverless:GetApplication" + ], + "Resource": "arn:aws:emr-serverless:*:*:/applications/*", + "Condition": { + "StringEquals": { + "aws:ResourceTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessStartJobRunOperation", + "Effect": "Allow", + "Action": "emr-serverless:StartJobRun", + "Resource": "arn:aws:emr-serverless:*:*:/applications/*", + "Condition": { + "StringEquals": { + "aws:RequestTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessListJobRunOperation", + "Effect": "Allow", + "Action": "emr-serverless:ListJobRuns", + "Resource": "arn:aws:emr-serverless:*:*:/applications/*", + "Condition": { + "StringEquals": { + "aws:ResourceTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessJobRunOperations", + "Effect": "Allow", + "Action": [ + "emr-serverless:GetJobRun", + "emr-serverless:CancelJobRun" + ], + "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*", + "Condition": { + "StringEquals": { + "aws:ResourceTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessTagResourceOperation", + "Effect": "Allow", + "Action": "emr-serverless:TagResource", + "Resource": "arn:aws:emr-serverless:*:*:/*", + "Condition": { + "StringEquals": { + "aws:RequestTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "IAMPassOperationForEMRServerless", + "Effect": "Allow", + "Action": "iam:PassRole", + "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*", + "Condition": { + "StringEquals": { + "iam:PassedToService": "emr-serverless.amazonaws.com", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } } ] }
Migrar a CreateAuto MLJob para CreateAuto MLJob a V2
Recomendamos que os usuários do CreateAutoMLJob
migrem para o CreateAutoMLJobV2
.
Esta seção explica as diferenças nos parâmetros de entrada entre CreateAutoMLJobe CreateAutoMLJobV2 destacando as mudanças na posição, nome ou estrutura dos objetos e atributos da solicitação de entrada entre as duas versões.
-
Atributos de solicitação que não foram alterados entre as versões.
{ "AutoMLJobName": "string", "AutoMLJobObjective": { "MetricName": "string" }, "ModelDeployConfig": { "AutoGenerateEndpointName": boolean, "EndpointName": "string" }, "OutputDataConfig": { "KmsKeyId": "string", "S3OutputPath": "string" }, "RoleArn": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }
-
Atributos de solicitação que mudaram de posição e estrutura entre as versões.
Os seguintes atributos mudaram de posição:
DataSplitConfig
,Security Config
,CompletionCriteria
,Mode
,FeatureSpecificationS3Uri
,SampleWeightAttributeName
,TargetAttributeName
. -
Os atributos a seguir mudaram de posição e estrutura entre as versões.
O JSON a seguir ilustra como o Auto ConfigMLJob. CandidateGenerationConfigdo tipo Auto MLCandidate GenerationConfig movido para Auto MLProblemTypeConfig. TabularJobConfig. CandidateGenerationConfigdo tipo CandidateGenerationConfigem V2.
-
Atributos de solicitação que mudaram o nome e a estrutura.
O JSON a seguir ilustra como InputDataConfig(Uma matriz de Auto MLChannel) mudou para Automático MLJob InputDataConfig (Uma matriz de MLJobcanal automático) na V2. Observe os atributos
SampleWeightAttributeName
eTargetAttributeName
vá para foraInputDataConfig
e para dentroAutoMLProblemTypeConfig
.