Learn practical skills, build real-world projects, and advance your career

Competição do Kaggle com Regressão Linear

Não trabalho formalmente com ciência de dados, no entanto ao participar de diversos hangouts e assistir estudos de casos de profissionais da área, é recorrente ouvir que dado um novo problema, uma boa prática é criarmos modelos baseline. Em outras palavras, antes de criar modelos de Aprendizagem Profunda com milhares de parâmetros e que levam muitas horas de GPU para treinar, crie um modelo simples para ter como ponto de partida. Você pode chegar à conclusão que ele é bom o suficiente ou que o seu modelo super complexo não é muito melhor que ele em primeiro lugar.

  • toc: true
  • branch: master
  • badges: true
  • comments: true
  • categories: [pytorch, linear_model]
  • image: images/multiplication.jpg
  • hide_binder_badge: true
  • author: Ronaldo S.A. Batista

Apresentação do Problema.

Note: Regressão em Aprendizagem de Máquina nada mais é que predizer um valor númerico.

Na competição House Prices: Advanced Regression Techniques, temos 79 variáveis descrevendo praticamente todos os aspectos de casas em Ames, Iowa. O objetivo da competição é prever o preço final de cada casa. Como o próprio nome diz o objetivo é utilizar técnicas avançadas de Regressão como Random Forest e Gradient Boosting. No entanto vamos usar esse conjunto de dados interessante para criar nosso modelo base de Regressão Linear.

O termo linear nada mais é que supor que nosso alvo (preço) pode ser expresso como uma soma ponderada, ou combinação linear. Suponha que tivéssemos somente 2 variáveis, àrea e idade. A hipótese de linearidade ficaria assim:

prec¸o=Waˊreaaˊrea+Wanosidade+b \text{preço} = W_\text{área} * \text{área} + W_\text{anos} * \text{idade} + b

E nosso problema seria encontrar os pesos W que melhor aproximam o preço dado as variáveis

Warning: A hipótese de linearidade é nos pesos, ou coeficientes W. Funções não lineares nas variáveis são perfeitamente aceitáveis. O exemplo abaixo é perfeitamente aceitável:
prec¸o=Waˊreaaˊrea2+Wanoslog(idade)+b\text{preço} = W_\text{área} * \text{área}^2 + W_\text{anos} * log(\text{idade}) + b