Todos os produtos
Search
Central de documentação

Platform For AI:One-hot encoding

Última atualização: Jun 27, 2026

A codificação one-hot converte um recurso categórico com m valores possíveis em m recursos binários mutuamente exclusivos, mantendo apenas um ativo por linha. A saída é armazenada em uma estrutura chave-valor (KV) esparsa.

Funcionamento

Para cada coluna especificada, o componente mapeia cada valor distinto a um índice único e gera um indicador binário para cada mapeamento. Uma coluna com três valores distintos produz três colunas binárias, com exatamente uma definida como 1,0 por linha.

O componente oferece suporte a dois modos:

  • Treinamento: Lê os dados de entrada, cria uma tabela de mapeamento e grava tanto o resultado codificado quanto a tabela de modelo. Apenas o nó de entrada à esquerda (Input Table Name) é obrigatório.

  • Predição: Lê uma tabela de modelo criada anteriormente no nó de entrada à direita (Input Model Table) e aplica a codificação existente aos novos dados. Valores ausentes na tabela de mapeamento são ignorados e não codificados.

image

Configure o componente

Método 1: Configure na página do pipeline

Aba Parâmetro Descrição
Fields setting Select binary column Obrigatório. Colunas a codificar. Aceita qualquer tipo de dado.
Other reserved features Colunas repassadas para a saída no formato KV. Devem ser do tipo DOUBLE. Essas colunas não passam por codificação; elas são indexadas a partir de 0.
Appended columns Colunas copiadas para a tabela de saída sem transformação.
Parameters setting Output table type KV (esparso, recomendado para recursos de alta cardinalidade) ou Table (denso, máximo de 1.024 colunas).
Delete encoding of last enumeration Quando definido como true, garante a independência linear dos dados codificados.
Ignore empty elements Se definido como true, valores NULL não são codificados. Se definido como false (padrão), NULL é tratado como uma categoria distinta e recebe seu próprio índice.
Lifecycle Período de retenção da tabela de saída em dias. Padrão: 7.
Cores Número de núcleos para o job. O sistema determina o valor se o campo estiver em branco.
Memory size per node Memória alocada para cada núcleo, em MB. Intervalo válido: 2.048–65.536 MB. O sistema determina o valor se o campo estiver em branco.

Método 2: Usar comandos PAI

Chame o componente a partir do componente SQL Script usando a seguinte sintaxe:

PAI -name one_hot
    -project algo_public
    -DinputTable=one_hot_test
    -DbinaryCols=f0,f1,f2
    -DmodelTable=one_hot_model
    -DoutputTable=one_hot_output
    -Dlifecycle=28;

Para obter mais informações sobre como chamar comandos PAI, consulte Script SQL.

Referência de parâmetros

Parâmetro

Obrigatório

Padrão

Descrição

inputTable

Sim

—

Nome da tabela de entrada.

inputTablePartitions

Não

Todas as partições

Partições da tabela de entrada a usar durante o treinamento.

binaryCols

Sim

—

Lista separada por vírgulas das colunas a codificar. Aceita recursos de enumeração de qualquer tipo de dado.

reserveCols

Não

Vazio

Colunas repassadas no formato KV. Devem ser do tipo DOUBLE. Essas colunas não passam por codificação e são indexadas a partir de 0.

appendCols

Não

—

Colunas copiadas para a tabela de saída sem transformação.

outputTable

Sim

—

Nome da tabela de saída. Os resultados são armazenados no formato KV por padrão.

inputModelTable

Não

Vazio

Tabela de modelo existente a usar para predição. inputModelTable ou outputModelTable deve ser uma string não vazia. Quando especificada, a tabela deve ser uma tabela de modelo válida e não vazia.

outputModelTable

Não

Vazio

Nome da tabela de modelo a gravar durante o treinamento. inputModelTable ou outputModelTable deve ser uma string não vazia.

lifecycle

Não

7

Período de retenção da tabela de saída em dias.

dropLast

Sim

false

Quando true, remove a última coluna binária de cada recurso para garantir a independência linear dos dados codificados.

outputTableType

Sim

kv

Formato de saída. kv produz uma tabela esparsa adequada para recursos de alta cardinalidade. table produz uma tabela densa com no máximo 1.024 colunas — ocorre um erro se a contagem de colunas exceder esse limite.

ignoreNull

Sim

false

Quando true, valores NULL são ignorados durante a codificação. Quando false, NULL é tratado como uma categoria distinta com seu próprio índice.

coreNum

Não

Determinado pelo sistema

Número de núcleos para o job.

memSizePerCore

Não

Determinado pelo sistema

Memória por núcleo em MB. Intervalo válido: 2.048–65.536 MB.

Nota: Ao usar um modelo treinado para codificações subsequentes, os parâmetros dropLast , ignoreNull e reserveCols ficam bloqueados nos valores definidos durante o treinamento e não podem ser alterados. Para usar valores diferentes para esses parâmetros, retreine o modelo.

Exemplo

O exemplo a seguir codifica três colunas — f0 (BIGINT), f2 (DATETIME) e f4 (BOOLEAN) — enquanto repassa f3 (DOUBLE) como recurso reservado e anexa as colunas originais f0, f2 e f4 à saída.

Etapa 1: Dados de entrada de amostra

f0 (BIGINT)

f1 (STRING)

f2 (DATETIME)

f3 (DOUBLE)

f4 (BOOLEAN)

12

prefix1

1970-09-15 12:50:22

0,1

true

12

prefix3

1971-01-22 03:15:33

0,4

false

NULL

prefix3

1970-01-01 08:00:00

0,2

NULL

3

NULL

1970-01-01 08:00:00

0,3

false

34

NULL

1970-09-15 12:50:22

0,4

NULL

3

prefix1

1970-09-15 12:50:22

0,2

true

3

prefix1

1970-09-15 12:50:22

0,3

false

3

prefix3

1970-01-01 08:00:00

0,2

true

3

prefix3

1971-01-22 03:15:33

0,1

false

NULL

prefix3

1970-01-01 08:00:00

0,3

false

Etapa 2: Comando PAI

PAI -project algo_public -name one_hot
    -DinputTable=one_hot
    -DbinaryCols=f0,f2,f4
    -DoutputModelTable=one_hot_model_8
    -DoutputTable=one_hot_in_table_1_output_8
    -DdropLast=false
    -DappendCols=f0,f2,f4
    -DignoreNull=false
    -DoutputTableType=table
    -DreserveCols=f3
    -DcoreNum=4
    -DmemSizePerCore=2048;

Etapa 3: Saída

A tabela de modelo mapeia cada valor distinto a um índice. A primeira linha (com col_name fixo em _reserve_) armazena o mapeamento da coluna reservada. Todas as outras linhas correspondem aos mapeamentos de codificação.

col_name

col_value

mapping

_reserve_

f3

0

f0

12

1

f0

3

2

f0

34

3

f0

null

4

f2

0

5

f2

22222222000

6

f2

33333333000

7

f4

0

8

f4

1

9

f4

null

10

Table

A tabela de resultados codificados (formato Table) usa o padrão de nomenclatura de coluna {field}_{value}_{index}:

f0

f2

f4

_reserve__f3_0

f0_12_1

f0_3_2

f0_34_3

f0_null_4

f2_0_5

f2_22222222_6

f2_33333333_7

f4_0_8

f4_1_9

f4_null_10

12

1970-09-15 12:50:22

true

0,1

1,0

0,0

0,0

0,0

0,0

1,0

0,0

0,0

1,0

0,0

12

1971-01-22 03:15:33

false

0,4

1,0

0,0

0,0

0,0

0,0

0,0

1,0

1,0

0,0

0,0

NULL

1970-01-01 08:00:00

NULL

0,2

0,0

0,0

0,0

1,0

1,0

0,0

0,0

0,0

0,0

1,0

3

1970-01-01 08:00:00

false

0,3

0,0

1,0

0,0

0,0

1,0

0,0

0,0

1,0

0,0

0,0

34

1970-09-15 12:50:22

NULL

0,4

0,0

0,0

1,0

0,0

0,0

1,0

0,0

0,0

0,0

1,0

3

1970-09-15 12:50:22

true

0,2

0,0

1,0

0,0

0,0

0,0

1,0

0,0

0,0

1,0

0,0

3

1970-09-15 12:50:22

false

0,3

0,0

1,0

0,0

0,0

0,0

1,0

0,0

1,0

0,0

0,0

3

1970-01-01 08:00:00

true

0,2

0,0

1,0

0,0

0,0

1,0

0,0

0,0

0,0

1,0

0,0

3

1971-01-22 03:15:33

false

0,1

0,0

1,0

0,0

0,0

0,0

0,0

1,0

1,0

0,0

0,0

NULL

1970-01-01 08:00:00

false

0,3

0,0

0,0

0,0

1,0

1,0

0,0

0,0

1,0

0,0

0,0

KV

Os mesmos dados no formato KV:

f0

f2

f4

kv

12

1970-09-15 12:50:22

true

0:0,1,1:1,6:1,9:1

12

1971-01-22 03:15:33

false

0:0,4,1:1,7:1,8:1

NULL

1970-01-01 08:00:00

NULL

0:0,2,4:1,5:1,10:1

3

1970-01-01 08:00:00

false

0:0,3,2:1,5:1,8:1

34

1970-09-15 12:50:22

NULL

0:0,4,3:1,6:1,10:1

3

1970-09-15 12:50:22

true

0:0,2,2:1,6:1,9:1

3

1970-09-15 12:50:22

false

0:0,3,2:1,6:1,8:1

3

1970-01-01 08:00:00

true

0:0,2,2:1,5:1,9:1

3

1971-01-22 03:15:33

false

0:0,1,2:1,7:1,8:1

NULL

1970-01-01 08:00:00

false

0:0,3,4:1,5:1,8:1

Teste de escalabilidade

Dados de teste: 200 milhões de amostras, 100.000 valores de enumeração distintos.

Contagem de núcleos

Tempo de treinamento

Tempo de predição

Taxa de aceleração

5

84s

181s

1/1

10

60s

93s

1,4/1,95

20

46s

56s

1,8/3,23

Notas de uso

  • Uma única coluna de codificação pode ter até dezenas de milhões de valores distintos.

  • A saída KV usa indexação baseada em zero.

  • Ao prever com um modelo treinado, dropLast, ignoreNull e reserveCols permanecem fixos nos valores do treinamento e não podem ser substituídos. Retreine o modelo caso precise de valores diferentes.

  • Se os novos dados codificados pelo modelo contiverem valores discretos ausentes na tabela de mapeamento, esses valores serão ignorados e não codificados. Para incluir tais valores, retreine a tabela de mapeamento do modelo.

Exemplos de fluxo de trabalho no console:

  • Use o componente diretamente para codificação. 流程

  • Treine um modelo com o componente e use-o para codificar novos dados. 实验