Todos os produtos
Search
Central de documentação

Platform For AI:Engenharia de features

Última atualização: Sep 10, 2026

Este tutorial utiliza engenharia de features adaptada a algoritmos de recomendação para processar conjuntos de dados originais (incluindo tabelas de usuários, itens e comportamentos) e gerar novas tabelas de features para as etapas subsequentes de recall e ranking.

Pré-requisitos

Conjuntos de dados

As tabelas de usuários, itens e comportamentos utilizadas neste tutorial foram geradas por script para fins de demonstração e não contêm dados reais.

Tabela de usuários

Parâmetro

Tipo

Descrição

user_id

bigint

O ID exclusivo do usuário.

gender

string

O gênero do usuário.

age

bigint

A idade do usuário.

city

string

A cidade onde o usuário reside.

item_cnt

bigint

O número de itens criados pelo usuário.

follow_cnt

bigint

O número de usuários seguidos por este usuário.

follower_cnt

bigint

O número de seguidores.

register_time

bigint

O horário de registro.

tags

string

As tags do usuário.

ds

string

A chave de partição da tabela.

Tabela de itens

Parâmetro

Tipo

Descrição

item_id

bigint

O ID exclusivo do item.

duration

double

A duração do vídeo.

title

string

O título.

category

string

A categoria principal.

author

bigint

O autor.

click_count

bigint

O número total de cliques.

praise_count

bigint

O número total de curtidas.

pub_time

bigint

O horário de publicação.

ds

string

A chave de partição da tabela.

Tabela de comportamentos

Parâmetro

Tipo

Descrição

request_id

bigint

O ID da solicitação ou ID de rastreamento.

user_id

bigint

O ID exclusivo do usuário.

exp_id

string

O ID do experimento.

page

string

A página.

net_type

string

O tipo de rede.

event_time

bigint

O horário em que o evento ocorreu.

item_id

bigint

O ID do item.

event

string

O tipo de evento.

playtime

double

A duração da reprodução ou leitura.

ds

string

A chave de partição da tabela.

Procedimento

Etapa 1: Acesse a página do Designer****

  1. Faça login no PAI console.

  2. No painel de navegação à esquerda, clique em Workspaces. Na página Workspaces, clique no nome do workspace que deseja gerenciar.

  3. No painel de navegação à esquerda do workspace, escolha Model Development and Training > Visualized Modeling (Designer).

Etapa 2: Construa o pipeline

  1. Na página do Designer, clique na aba Preset Templates.

  2. Na seção Recommended solution-feature engineering, clique em Create.

  3. Na caixa de diálogo Create pipeline, configure os parâmetros. É possível usar as configurações padrão.

    O parâmetro Pipeline data storage especifica um caminho de bucket do OSS para armazenar dados temporários e modelos gerados durante a execução do pipeline.

  4. Clique em OK.

    O pipeline é criado em aproximadamente 10 segundos.

  5. Na lista de pipelines, clique duas vezes no pipeline Recommended solution-feature engineering para abri-lo.

  6. O sistema constrói automaticamente o pipeline com base no modelo, conforme mostra a figura a seguir.image.png

    Componente

    Descrição

    1

    Pré-processa a tabela de itens:

    • Substitui o separador de features de tag por chr(29) para a etapa de geração de features (FG).

    • Gera uma feature que indica se um item é novo.

    2

    Pré-processa a tabela de comportamentos: gera features derivadas de tempo, como day_h e week_day, a partir do horário do evento.

    3

    Pré-processa a tabela de usuários:

    • Gera uma feature que indica se um usuário é novo.

    • Substitui o separador de features de tag por chr(29) para a etapa de geração de features (FG).

    4

    Une as tabelas de comportamentos, usuários e itens para criar uma tabela ampla de logs de comportamento com atributos estatísticos.

    5

    Gera a tabela de features de itens, que contém features estatísticas para itens durante um período específico:

    • item__{event}_cnt_{N}d: número de vezes que um evento específico ocorreu em um item dentro de N dias. Indica a popularidade do item.

    • item__{event}_{itemid}_dcnt_{N}d: número de usuários únicos que interagiram com o item para um evento específico dentro de N dias. Indica a popularidade do item.

    • item__{min|max|avg|sum}_{field}_{N}d: distribuição estatística (min, max, avg ou sum) de um atributo numérico do usuário para interações positivas com um item dentro de N dias. Indica as preferências de usuários com atributos numéricos específicos.

    • item__kv_{cate}_{event}_{N}d: estatísticas de um atributo categórico do usuário para um evento específico em um item dentro de N dias. Indica as preferências de usuários com atributos categóricos específicos.

    6

    Gera a tabela de features de usuários, que contém features estatísticas para usuários durante um período específico.

Etapa 3: Adicione uma função personalizada

  1. Crie um workflow. Para mais informações, consulte Create a workflow.

  2. Clique com o botão direito em MaxCompute no workflow criado e escolha New Resource > Python para criar um recurso de script Python chamado count_cates_kvs.py. Para mais informações, consulte Create and use MaxCompute resources.

  3. Clique com o botão direito em MaxCompute no workflow criado e escolha New Function. Crie uma função do MaxCompute chamada COUNT_CATES_KVS. Defina o Class name como count_cates_kvs.CountCatesKVS e a Resource list como count_cates_kvs.py. Para mais informações, consulte Create and use custom functions.

Etapa 4: Execute o pipeline e visualize os resultados

Nota

Por padrão, este pipeline processa 45 dias de dados, o que pode levar muito tempo. Para concluir a execução mais rapidamente, reduza a quantidade de dados processados da seguinte forma:

  • Atualize os parâmetros da janela de tempo de execução para usar dados de um período menor.

    • Clique em cada um dos componentes a seguir e, na aba Parameters à direita, altere o parâmetro Execution Time Window do valor padrão (-45,0] para (-9,0]:

      • 1_rec_sln_demo_item_table_preprocess_v2

      • 2_rec_sln_demo_behavior_table_preprocess_v2

      • 3_rec_sln_demo_user_table_preprocess_v2

      • 4_rec_sln_demo_behavior_table_preprocess_wide_v2

    • Clique em cada um dos componentes a seguir e, na aba Parameters à direita, altere o parâmetro Execution Time Window de (-31,0] para (-8,0]:

      • 5_rec_sln_demo_item_table_preprocess_all_feature_v2

      • 6_rec_sln_demo_user_table_preprocess_all_feature_v2

  • Modifique o script SQL para selecionar uma amostra menor de usuários.

    • Clique no nó 2_rec_sln_demo_behavior_table_preprocess_ v2 e, na aba Parameters à direita, altere a linha 32 do código do parâmetro SQL Script de WHERE ds = '${pai.system.cycledate}' para WHERE ds = '${pai.system.cycledate}' and user_id %10=1.

    • Clique no componente 3_rec_sln_demo_user_table_preprocess_v2 e, na aba Parameters à direita, altere a linha 38 no parâmetro SQL Script de WHERE ds = '${pai.system.cycledate}' para WHERE ds = '${pai.system.cycledate}' and user_id %10=1.

    1. Clique no ícone Run image.png na barra de ferramentas acima da tela do Designer.

    2. Após a conclusão da execução do pipeline, verifique se as seguintes tabelas do MaxCompute contêm nove dias de dados:

      • Tabela de features de itens: rec_sln_demo_item_table_preprocess_all_feature_v2

      • Tabela ampla de logs de comportamento: rec_sln_demo_behavior_table_preprocess_v2

      • Tabela de features de usuários: rec_sln_demo_user_table_preprocess_all_feature_v2

      É possível consultar os dados nessas tabelas na página de consulta SQL. Para mais informações, consulte Connect using DataWorks.

      Nota

      O projeto ao qual essas tabelas pertencem proíbe varreduras completas em tabelas particionadas. Especifique uma condição de partição na consulta. Caso seja necessária uma varredura completa, adicione a instrução set odps.sql.allow.fullscan=true; antes da instrução SQL e execute-as juntas. Uma varredura completa processa mais dados, o que pode aumentar seus custos.