0Pricing
Learn AI with Python · Aula

Engenharia automatizada de atributos com Featuretools

EntitySet, DFS (Deep Feature Synthesis), primitivas de atributos e agregações empilhadas.

Engenharia automatizada de atributos com Featuretools é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

Automatizando a criação de recursos

A engenharia manual de recursos é lenta e facilita deixar combinações passar despercebidas. O Featuretools cria automaticamente muitos recursos candidatos a partir de dados relacionais usando um método chamado Síntese Profunda de Recursos.

Dados relacionais e entidades

Dados reais geralmente abrangem várias tabelas relacionadas: clientes, pedidos e produtos. O Featuretools modela essas relações e gera automaticamente recursos que agregam dados entre as ligações.

Criando um EntitySet

Um EntitySet é o contêiner que armazena seus quadros de dados e as relações entre eles. Comece criando um conjunto vazio.

import featuretools as ft

es = ft.EntitySet(id="customers_data")

Adicionando DataFrames

es.add_dataframe registra uma tabela. Você especifica seu index (chave exclusiva) e, opcionalmente, um time_index para dados temporais.

import featuretools as ft

es = es.add_dataframe(
    dataframe_name="customers",
    dataframe=customers_df,
    index="customer_id",
)
es = es.add_dataframe(
    dataframe_name="orders",
    dataframe=orders_df,
    index="order_id",
    time_index="order_date",
)

Definindo relações

Informe ao Featuretools como as tabelas se conectam com add_relationship: uma chave pai se liga a uma chave estrangeira filha (um cliente tem muitos pedidos).

es = es.add_relationship(
    "customers", "customer_id",
    "orders", "customer_id",
)

Síntese Profunda de Recursos

DFS (ft.dfs) é o mecanismo. Ele encadeia operações entre relações para criar recursos como "valor médio do pedido por cliente", sem que você precise programar cada um.

import featuretools as ft

feature_matrix, feature_defs = ft.dfs(
    entityset=es,
    target_dataframe_name="customers",
)

Primitivas de agregação

Primitivas de agregação resumem as linhas filhas no nível do pai: SUM, MEAN, COUNT, MAX, STD. Elas transformam muitos pedidos em estatísticas por cliente.

feature_matrix, defs = ft.dfs(
    entityset=es,
    target_dataframe_name="customers",
    agg_primitives=["mean", "sum", "count", "max"],
)

Primitivas de transformação

Primitivas de transformação operam dentro de uma única linha ou tabela: extraem o mês de uma data, calculam o tempo decorrido ou obtêm valores absolutos.

feature_matrix, defs = ft.dfs(
    entityset=es,
    target_dataframe_name="customers",
    trans_primitives=["month", "weekday", "time_since_previous"],
)

Controlando a profundidade com max_depth

max_depth limita quantas primitivas são encadeadas. A profundidade 1 corresponde a agregações diretas; a profundidade 2 aplica uma transformação e depois uma agregação (por exemplo, a média do dia da semana dos pedidos). Maior profundidade = mais recursos, mas também mais arriscados.

feature_matrix, defs = ft.dfs(
    entityset=es,
    target_dataframe_name="customers",
    max_depth=2,
)

Usando a matriz de recursos

A feature_matrix resultante é um quadro de dados organizado, indexado pela entidade-alvo e pronto para ser fornecido a um modelo. feature_defs documenta cada recurso gerado.

print(feature_matrix.shape)
print(feature_matrix.head())

X = feature_matrix.fillna(0)
# now train any sklearn model on X

Vantagens e cuidados

O Featuretools produz muitos recursos rapidamente e revela sinais relacionais. Porém, pode gerar centenas de colunas; por isso, combine-o com seleção de recursos. Fique atento a vazamentos definindo um cutoff_time adequado ao trabalhar com dados temporais.

Verificação rápida

Teste seus conhecimentos sobre o Featuretools.

Recapitulação

Recapitulação: o Featuretools automatiza a engenharia de recursos. Crie um EntitySet, registre as tabelas com es.add_dataframe, defina as relações e execute ft.dfs com max_depth. As primitivas de agregação elevam as linhas filhas ao nível dos pais; as primitivas de transformação trabalham dentro de uma linha. A feature_matrix está pronta para o modelo; combine-a com seleção de recursos.

Perguntas Frequentes

A aula “Engenharia automatizada de atributos com Featuretools” é grátis?

Sim — o texto completo de “Engenharia automatizada de atributos com Featuretools” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Engenharia automatizada de atributos com Featuretools”?

EntitySet, DFS (Deep Feature Synthesis), primitivas de atributos e agregações empilhadas. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Engenharia automatizada de atributos com Featuretools”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Métodos de seleção de atributos
  2. Criando atributos de interação e polinomiais
  3. Codificação do alvo e tratamento avançado de dados categóricos
  4. Engenharia automatizada de atributos com Featuretools
← Voltar para Learn AI with Python