0Pricing
Learn AI with Python · Aula

Criando atributos de interação e polinomiais

PolynomialFeatures, termos de interação manuais, atributos de proporção e categorização de variáveis contínuas.

Criando atributos de interação e polinomiais é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 2 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.

Por que criar novos atributos

Os modelos lineares capturam apenas relações em linha reta. Ao criar atributos de interação e polinomiais, você permite que modelos simples expressem curvas e efeitos combinados entre variáveis.

O que são atributos de interação

Uma interação multiplica dois atributos, por exemplo, area = length * width. Ela captura efeitos que dependem das duas entradas em conjunto e que nenhuma delas explica sozinha.

Noções básicas de PolynomialFeatures

PolynomialFeatures gera automaticamente potências e produtos dos atributos até um degree escolhido. O grau 2 adiciona quadrados e produtos entre pares.

from sklearn.preprocessing import PolynomialFeatures
import numpy as np

X = np.array([[2, 3]])
poly = PolynomialFeatures(degree=2)
print(poly.fit_transform(X))
# 1, x1, x2, x1^2, x1*x2, x2^2

Modo interaction_only

Definir interaction_only=True mantém os produtos cruzados, mas descarta potências puras como x1^2. Isso é útil quando você quer apenas efeitos combinados, não curvatura.

from sklearn.preprocessing import PolynomialFeatures

poly = PolynomialFeatures(degree=2, interaction_only=True, include_bias=False)
X_int = poly.fit_transform(X)

Cuidado com a explosão de atributos

Graus altos criam muitos atributos e aumentam o risco de sobreajuste. Com 10 entradas, o grau 3 produz centenas de colunas. Mantenha o grau baixo (2 ou 3) e combine-o com seleção de atributos ou regularização.

Atributos de proporção manuais

O conhecimento do domínio muitas vezes supera a força bruta. Proporções criadas manualmente, como preço por metro quadrado ou cliques por impressão, codificam um significado que a expansão polinomial não encontraria.

import pandas as pd

df["price_per_sqm"] = df["price"] / df["area"]
df["ctr"] = df["clicks"] / df["impressions"]

Discretização com pd.cut

Discretização transforma uma variável contínua em categorias. O pd.cut divide uma coluna em intervalos, sendo útil para capturar efeitos não lineares ou agrupar idades, rendas etc.

import pandas as pd

df["age_group"] = pd.cut(
    df["age"],
    bins=[0, 18, 35, 60, 120],
    labels=["minor", "young", "adult", "senior"],
)

Discretização por frequência igual

O pd.qcut cria intervalos com quantidades aproximadamente iguais de elementos (quantis), o que é útil quando a distribuição é assimétrica e você quer grupos equilibrados.

import pandas as pd

df["income_quartile"] = pd.qcut(df["income"], q=4, labels=False)

Como lidar com assimetria usando transformação logarítmica

Atributos assimétricos à direita (renda, preços, contagens) prejudicam muitos modelos. Uma transformação logarítmica comprime os valores grandes e torna a distribuição mais simétrica.

import numpy as np

# log1p handles zeros safely: log(1 + x)
df["log_income"] = np.log1p(df["income"])

Raiz quadrada e outras transformações

A transformação de raiz quadrada também reduz a assimetria, mas de forma mais suave que o logaritmo, sendo adequada para dados de contagem. Escolha a transformação que torne o histograma mais simétrico.

import numpy as np

df["sqrt_count"] = np.sqrt(df["count"])
# inspect df["sqrt_count"].hist() to confirm reduced skew

Combinando tudo

Combine as abordagens: aplique uma transformação logarítmica às colunas assimétricas, faça a discretização onde os limites importarem, adicione proporções baseadas no domínio e use PolynomialFeatures para as interações. Sempre valide se os novos atributos realmente melhoram as pontuações de validação cruzada.

Verificação rápida

Teste seus conhecimentos sobre engenharia de atributos.

Recapitulação

Recapitulação: crie atributos para ajudar modelos simples. PolynomialFeatures com degree e interaction_only adiciona produtos e potências (cuidado com a explosão). Crie proporções manuais com base no conhecimento do domínio, faça a discretização com pd.cut/pd.qcut e corrija a assimetria com transformações logarítmicas ou de raiz quadrada. Sempre valide os ganhos.

Perguntas Frequentes

A aula “Criando atributos de interação e polinomiais” é grátis?

Sim — o texto completo de “Criando atributos de interação e polinomiais” é 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 “Criando atributos de interação e polinomiais”?

PolynomialFeatures, termos de interação manuais, atributos de proporção e categorização de variáveis contínuas. 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 2 de 4.

Quanto tempo leva a aula “Criando atributos de interação e polinomiais”?

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