Não estamos mais atualizando o serviço Amazon Machine Learning nem aceitando novos usuários para ele. Essa documentação está disponível para usuários existentes, mas não estamos mais atualizando-a. Para obter mais informações, consulte O que é o Amazon Machine Learning.
Reorganização de dados
A funcionalidade de reorganização de dados permite criar uma fonte de dados baseada em apenas uma parte dos dados de entrada para os quais ela aponta. Por exemplo, quando você cria um modelo de ML usando o assistente Criar modelo de ML no console do Amazon ML e escolhe a opção de avaliação padrão, o Amazon ML reserva automaticamente 30% dos dados para a avaliação do modelo de ML e usa os outros 70% para treinamento. Essa funcionalidade é habilitada pelo recurso Reorganização de dados do Amazon ML.
Se você está usando a API do Amazon ML para criar fontes de dados, pode especificar qual parte dos dados de entrada servirá de base para uma nova fonte de dados. É possível fazer isso passando instruções no parâmetro DataRearrangement
para as APIs CreateDataSourceFromS3
, CreateDataSourceFromRedshift
ou CreateDataSourceFromRDS
. O conteúdo da string DataRearrangement é uma string JSON que contém os locais de início e término dos dados, expressos como porcentagens, um sinalizador complementar e uma estratégia de divisão. Por exemplo, a string DataRearrangement a seguir especifica que os primeiros 70% dos dados serão usados para criar a fonte de dados:
{ "splitting": { "percentBegin": 0, "percentEnd": 70, "complement": false, "strategy": "sequential" } }
Parâmetros de DataRearrangement
Para alterar como o Amazon ML cria uma fonte de dados, use os parâmetros a seguir.
- PercentBegin (opcional)
-
Use
percentBegin
para indicar onde começam os dados da fonte de dados. Se você não incluirpercentBegin
epercentEnd
, o Amazon ML incluirá todos os dados ao criar a fonte de dados.Os valores válidos vão de
0
a100
, inclusive. - PercentEnd (opcional)
-
Use
percentEnd
para indicar onde terminam os dados da fonte de dados. Se você não incluirpercentBegin
epercentEnd
, o Amazon ML incluirá todos os dados ao criar a fonte de dados.Os valores válidos vão de
0
a100
, inclusive. - Complement (opcional)
-
O parâmetro
complement
instrui o Amazon ML a usar os dados não incluídos no intervalo depercentBegin
apercentEnd
para criar uma fonte de dados. O parâmetrocomplement
é útil quando você precisa criar fontes de dados complementares para treinamento e avaliação. Para criar uma fonte de dados complementar, use os mesmos valores parapercentBegin
epercentEnd
, juntamente com o parâmetrocomplement
.Por exemplo, as duas fontes de dados a seguir não compartilham nenhum dado e podem ser usadas para treinar e avaliar um modelo. A primeira fonte de dados tem 25% dos dados, e a segunda tem 75%.
Fonte de dados para avaliação:
{ "splitting":{ "percentBegin":0, "percentEnd":25 } }
Fonte de dados para treinamento:
{ "splitting":{ "percentBegin":0, "percentEnd":25, "complement":"true" } }
Os valores válidos são
true
efalse
. - Strategy (opcional)
-
Para alterar como o Amazon ML divide os dados para uma fonte de dados, use o parâmetro
strategy
.O valor padrão do parâmetro
strategy
ésequential
, o que significa que o Amazon ML leva todos os registros de dados entre os parâmetrospercentBegin
epercentEnd
para a fonte de dados, na ordem em que os registros aparecem nos dados de entradaAs duas linhas
DataRearrangement
a seguir são exemplos de fontes de dados e de avaliação de treinamento em sequência ordenada:Fonte de dados para avaliação:
{"splitting":{"percentBegin":70, "percentEnd":100, "strategy":"sequential"}}
Fonte de dados para treinamento:
{"splitting":{"percentBegin":70, "percentEnd":100, "strategy":"sequential", "complement":"true"}}
Para criar uma fonte de dados a partir de uma seleção aleatória de dados, defina o parâmetro
strategy
comrandom
e forneça uma string que seja usada como valor de propagação para a divisão aleatória de dados (por exemplo, você pode usar o caminho do S3 para seus dados como a string de propagação aleatória). Se você escolher a estratégia de divisão aleatória, o Amazon ML atribuirá a cada linha de dados um número pseudoaleatório e, em seguida, selecionará as linhas que têm um número atribuído entrepercentBegin
epercentEnd
. Números pseudoaleatórios são atribuídos com o uso de deslocamento de bytes como propagação, portanto, a alteração dos dados gera uma divisão diferente. A ordenação existente é mantida. A estratégia de divisão aleatória garante que as variáveis nos dados de treinamento e avaliação sejam distribuídas de maneira semelhante. Ela é útil nos casos em que os dados de entrada podem ter uma ordem de classificação implícita, o que pode resultar em fontes de dados e avaliação de treinamento contendo registros de dados diferentes.As duas linhas
DataRearrangement
a seguir são exemplos de fontes de dados e de avaliação de treinamento sem sequência ordenada:Fonte de dados para avaliação:
{ "splitting":{ "percentBegin":70, "percentEnd":100, "strategy":"random", "strategyParams": { "randomSeed":"RANDOMSEED" } } }
Fonte de dados para treinamento:
{ "splitting":{ "percentBegin":70, "percentEnd":100, "strategy":"random", "strategyParams": { "randomSeed":"RANDOMSEED" } "complement":"true" } }
Os valores válidos são
sequential
erandom
. - (Opcional) Strategy:RandomSeed
-
O Amazon ML usa o randomSeed para dividir os dados. A propagação padrão para a API é uma string vazia. Para especificar uma propagação para a estratégia de divisão aleatória, passe uma string. Para obter mais informações sobre sementes aleatórias, consulte Dividir dados aleatoriamente no Guia do desenvolvedor do Amazon Machine Learning.
Para um código de exemplo que demonstra como usar validações cruzadas com o Amazon ML, acesse Github Machine Learning Samples