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 XVantagens 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
- Métodos de seleção de atributos
- Criando atributos de interação e polinomiais
- Codificação do alvo e tratamento avançado de dados categóricos
- Engenharia automatizada de atributos com Featuretools