ComeçarComece gratuitamente

Modelo de duração de voo: Regularização!

No exercício anterior, você adicionou mais preditores ao modelo de duração do voo. O modelo teve um bom desempenho nos dados de teste, mas, com tantos coeficientes, foi difícil de interpretar.

Neste exercício, você usará a regressão Lasso (regularizada com uma penalidade L1) para criar um modelo mais parcimonioso. Muitos dos coeficientes do modelo resultante serão definidos como zero. Isso significa que apenas um subconjunto dos preditores contribui de fato para o modelo. Apesar do modelo mais simples, ele ainda produz um bom RMSE nos dados de teste.

Você usará um valor específico para a força de regularização. Mais tarde, você aprenderá a encontrar o melhor valor usando a validação cruzada.

Os dados (os mesmos do exercício anterior) estão disponíveis em flights, divididos aleatoriamente em flights_train e flights_test.

Há dois parâmetros para esse modelo, λ (regParam) e α (elasticNetParam), em que α determina o tipo de regularização e λ fornece a força da regularização.

Este exercício faz parte do curso

Aprendizado de máquina com PySpark

Ver Curso

Instruções de exercício

  • Ajuste um modelo de regressão linear aos dados de treinamento. Defina a intensidade da regularização como 1.
  • Calcule o RMSE nos dados de teste.
  • Observe os coeficientes do modelo.
  • Quantos coeficientes são iguais a zero?

Exercício interativo prático

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

from pyspark.ml.regression import LinearRegression
from pyspark.ml.evaluation import RegressionEvaluator

# Fit Lasso model (λ = 1, α = 1) to training data
regression = ____(____, ____, elasticNetParam=1).____(____)

# Calculate the RMSE on testing data
rmse = ____(____).____(____)
print("The test RMSE is", rmse)

# Look at the model coefficients
coeffs = regression.____
print(coeffs)

# Number of zero coefficients
zero_coeff = sum([____ for beta in regression.coefficients])
print("Number of coefficients equal to 0:", zero_coeff)
Editar e executar código