ComeçarComece de graça

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

O modelo validado cruzado que você acabou de construir era simples, usando só um km e para prever duration.

Outro fator importante pra saber quanto tempo vai durar o voo é o aeroporto de onde você vai sair. Os voos geralmente demoram mais pra decolar de aeroportos movimentados. Vamos ver se adicionar esse preditor melhora o modelo!

Neste exercício, você vai adicionar o campo “ org ” ao modelo. Mas, como org é categórico, ainda tem mais trabalho a fazer antes de poder ser incluído: primeiro precisa ser transformado em um índice e depois codificado como one-hot antes de ser montado com km e usado para construir o modelo de regressão. Vamos juntar 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

Machine Learning com PySpark

Ver curso

Instruções do exercício

  • Crie um indexador de string. Especifique os campos de entrada e saída como org e org_idx.
  • Crie um codificador one-hot. Dê o nome “ org_dummy ” ao campo de saída.
  • Junta os campos “ km ” e “ org_dummy ” num único campo chamado “ features ”.
  • Crie um pipeline usando as seguintes operações: indexador de string, codificador one-hot, montador e regressão linear. Use isso pra criar um validador cruzado.

Exercício interativo prático

Experimente este exercício completando 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 o código