Modelos Lineares Generalizados: Regressão polinomial

Anteriormente exploramos diversos modelos lineares para regressão e classificação. Analogamente, a Regressão Polinomial estende esses modelos lineares permitindo relacionamentos não-lineares entre as features e o target, enquanto mantém a linearidade nos parâmetros.

Conceito Fundamental da Regressão Polinomial

Primordialmente, a regressão polinomial transforma o problema original criando novas features que são potências polinomiais das features originais. Decerto, isso permite que modelos lineares capturem padrões não-lineares complexos sem abandonar a estrutura linear subjacente.

Conforme a documentação do scikit-learn, essa abordagem é implementada usando a classe PolynomialFeatures em conjunto com modelos lineares como LinearRegression, Ridge, ou Lasso.

Formulação Matemática

Para uma única feature x, um polinômio de grau d é dado por:

\(y = w_0 + w_1x + w_2x^2 + w_3x^3 + \cdots + w_dx^d + \epsilon\)

Para múltiplas features, inclui-se termos de interação:

\(y = w_0 + \sum_{i=1}^n w_ix_i + \sum_{i=1}^n\sum_{j=i}^n w_{ij}x_ix_j + \sum_{i=1}^n w_{ii}x_i^2 + \cdots\)

Onde os coeficientes w ainda são lineares, permitindo o uso de técnicas de regressão linear padrão.

Implementação no Scikit-learn

Atualmente, o scikit-learn oferece uma abordagem modular através de pipelines:

  • PolynomialFeatures: Transforma features em features polinomiais
  • LinearRegression, Ridge, Lasso: Modelos lineares aplicados às novas features
  • Pipeline: Combina transformação e modelo em um único estimador

Parâmetros Principais do PolynomialFeatures

  1. degree: Grau do polinômio (ex: 2 para quadrático, 3 para cúbico)
  2. interaction_only: Se incluir apenas termos de interação
  3. include_bias: Se incluir termo de bias (intercept)

Exemplo Prático: Regressão Polinomial em Ação

Ademais, vejamos um exemplo completo demonstrando o uso da regressão polinomial:

Vantagens da Regressão Polinomial

Embora simples, a regressão polinomial oferece benefícios significativos:

Vantagens Principais

  • Flexibilidade: Captura relacionamentos não-lineares complexos
  • Interpretabilidade: Mantém a estrutura linear nos parâmetros
  • Compatibilidade: Funciona com todas técnicas de regressão linear
  • Simplicidade: Fácil implementação e entendimento

Desafios e Considerações

Algumas considerações importantes para uso eficaz:

Desafios

  • Maldição da dimensionalidade: Número de features cresce rapidamente com o grau
  • Overfitting: Graus muito altos podem levar a sobreajuste
  • Instabilidade numérica: Features com escalas muito diferentes
  • Interpretabilidade: Coeficientes podem perder significado direto

Boas Práticas

  1. Use validação cruzada para selecionar o grau ótimo
  2. Aplique regularização (Ridge, Lasso) para controlar overfitting
  3. Normalize as features antes da expansão polinomial
  4. Considere interaction_only=True para evitar termos de alta ordem

Casos de Uso Recomendados

A regressão polinomial é particularmente eficaz em:

    1. Problemas com relacionamentos não-lineares conhecidos: Como física, engenharia

Quando interpretabilidade é importante: Mas relações lineares não são suficientes

  • Baseline para modelos não-lineares: Ponto de partida antes de métodos mais complexos
  • Dados com padrões curvilíneos: Como crescimento, decaimento, relações quadráticas

 

Enfim, a regressão polinomial representa uma ponte elegante entre modelos lineares simples e métodos não-lineares complexos, oferecendo flexibilidade adicional enquanto mantém a interpretabilidade e as ferramentas analíticas da regressão linear.

Referência: https://scikit-learn.org/0.21/modules/linear_model.html#polynomial-regression-extending-linear-models-with-basis-functions

Modelos Lineares Generalizados: Regressão logística

Anteriormente exploramos diversos algoritmos de regressão linear. Analogamente, a Regressão Logística é uma técnica fundamental para problemas de classificação, apesar do nome sugerir regressão. Decerto, ela modela a probabilidade de uma observação pertencer a uma determinada classe.

Conceito Fundamental da Regressão Logística

Primordialmente, a regressão logística utiliza uma função sigmoide para mapear saídas lineares em probabilidades entre 0 e 1. Similarmente aos modelos lineares, ela encontra uma combinação linear das features, mas aplica uma transformação não-linear para produzir probabilidades.

Conforme a documentação do scikit-learn, a regressão logística é particularmente útil para problemas de classificação binária, mas também suporta classificação multiclasse através das abordagens “one-vs-rest” (OvR) e “multinomial”.

Formulação Matemática

Para classificação binária, a probabilidade é modelada como:

\(P(y=1|X) = \frac{1}{1 + e^{-(w^T X + b)}}\)

Onde:

  • X é o vetor de features
  • w são os coeficientes do modelo
  • b é o termo de intercept (bias)
  • e é a base do logaritmo natural

A função de custo (log loss) é definida como:

\(J(w) = -\frac{1}{n}\sum_{i=1}^n [y_i\log(p_i) + (1-y_i)\log(1-p_i)]\)

Implementações no Scikit-learn

Atualmente, o scikit-learn oferece implementações versáteis da regressão logística:

  • LogisticRegression: Implementação principal com vários solvers
  • LogisticRegressionCV: Versão com validação cruzada embutida

Solvers Disponíveis

Diferentes algoritmos de otimização estão disponíveis:

  1. liblinear: Recomendado para datasets pequenos
  2. lbfgs: Bom para problemas com muitas features
  3. newton-cg: Usa método de Newton
  4. sag: Gradiente descendente estocástico médio
  5. saga: Extensão do SAG com suporte a L1

Exemplo Prático: Regressão Logística em Ação

Ademais, vejamos um exemplo completo demonstrando o uso da regressão logística:

Vantagens da Regressão Logística

Embora existam algoritmos mais complexos, a regressão logística mantém popularidade devido a:

Vantagens Principais

  • Interpretabilidade: Coeficientes fornecem insights sobre importância das features
  • Probabilidades calibradas: Saídas são probabilidades bem calibradas
  • Eficiência computacional: Treinamento rápido mesmo com muitas features
  • Regularização: Suporte nativo a L1 e L2 para evitar overfitting

Casos de Uso Recomendados

A regressão logística é particularmente eficaz em:

  1. Problemas de classificação binária: Como detecção de spam, diagnóstico médico
  2. Quando interpretabilidade é importante: Aplicações onde precisa explicar decisões
  3. Baseline para classificação: Ponto de partida para modelos mais complexos
  4. Dados tabulares: Com features numéricas e categóricas

Considerações Práticas

Algumas recomendações importantes para uso eficaz:

  • Normalize os dados para melhor performance e convergência
  • Use LogisticRegressionCV para seleção automática do parâmetro C
  • Escolha o solver apropriado baseado no tamanho do dataset e tipo de regularização
  • Para problemas desbalanceados, use class_weight=’balanced’

Enfim, a regressão logística representa uma ferramenta fundamental no arsenal de machine learning, combinando simplicidade, interpretabilidade e performance robusta para uma ampla gama de problemas de classificação.

Referência: https://scikit-learn.org/0.21/modules/linear_model.html#logistic-regression