Definindo um problema

Feature Engineering com PySpark

John Hogue

Lead Data Scientist, General Mills

Qual é o seu problema?

Prever o preço de venda de uma casa

  • Dados: preço de anúncio e características
    • $X$, variáveis independentes "conhecidas"
  • Por quanto comprar a casa
    • $Y$, variável dependente "desconhecida"
    • SALESCLOSEPRICE

Casas à venda

Feature Engineering com PySpark

Contexto e limitações do nosso mercado imobiliário

  • Casas vendidas na região de St Paul, MN
    • Inclui vários subúrbios
  • Tipos de imóveis
    • Residencial-Unifamiliar
    • Residencial-Multifamiliar
  • Ano completo de dados
    • Impacto da sazonalidade

St Paul, MN

Feature Engineering com PySpark

Quais tipos de atributos estão disponíveis?

  • Datas
    • Data do anúncio
    • Ano de construção
  • Localização
    • Cidade
    • Distrito escolar
    • Endereço
  • Tamanho
    • Nº de quartos e banheiros
    • Área útil
  • Preço
    • Preço de anúncio
    • Preço de fechamento
  • Comodidades
    • Piscina
    • Lareira
    • Garagem
  • Materiais de construção
    • Revestimento externo
    • Cobertura
Feature Engineering com PySpark

Validando a carga dos dados

  • DataFrame.count() para contar linhas
df.count()
5000
  • DataFrame.columns para listar colunas
df.columns
['No.', 'MLSID', 'StreetNumberNumeric', ... ]
  • Tamanho de DataFrame.columns para o número de colunas
len(df.columns)
74
Feature Engineering com PySpark

Verificando tipos de dados

DataFrame.dtypes

  • Cria uma lista de tuplas com colunas e seus tipos
df.dtypes
[('No.', 'integer'), ('MLSID', 'string'), ... ]
Feature Engineering com PySpark

Vamos praticar!

Feature Engineering com PySpark

Preparing Video For Download...