ComeçarComece gratuitamente

Validação cruzada do pipeline do modelo de duração de voo

O modelo com validação cruzada que você acabou de criar era simples, usando apenas km para prever duration.

Outro indicador importante da duração do voo é o aeroporto de origem. Em geral, os voos demoram mais para entrar no ar em aeroportos movimentados. Vamos ver se a adição desse preditor melhora o modelo!

Neste exercício, você adicionará o campo org ao modelo. Entretanto, como o org é categórico, há mais trabalho a ser feito antes que ele possa ser incluído: primeiro, ele deve ser transformado em um índice e, em seguida, codificado com um único ponto antes de ser montado com km e usado para criar o modelo de regressão. Vamos encerrar essas operações em um pipeline.

Os seguintes objetos já foram criados:

  • params - uma grade de parâmetros vazia
  • evaluator - um avaliador de regressão
  • regression - um objeto LinearRegression com labelCol='duration'.

As classes StringIndexer, OneHotEncoder, VectorAssembler e CrossValidator já foram importadas.

Este exercício faz parte do curso

Aprendizado de máquina com PySpark

Ver Curso

Instruções de exercício

  • Crie um indexador de strings. Especifique os campos de entrada e saída como org e org_idx.
  • Crie um codificador de um único disparo. Nomeie o campo de saída como org_dummy.
  • Reúna os campos km e org_dummy em um único campo chamado features.
  • Crie um pipeline usando as seguintes operações: indexador de cadeia de caracteres, codificador de um ponto, montador e regressão linear. Use isso para criar um validador cruzado.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# Create an indexer for the org field
indexer = ____(____, ____)

# Create an one-hot encoder for the indexed org field
onehot = ____(____, ____)

# Assemble the km and one-hot encoded fields
assembler = ____(____, ____)

# Create a pipeline and cross-validator.
pipeline = ____(stages=[____, ____, ____, ____])
cv = ____(estimator=____,
          estimatorParamMaps=____,
          evaluator=____)
Editar e executar código