ComeçarComece de graça

Criação de faixas (Bucketing)

Se você é proprietário, é muito importante se a casa tem 1, 2, 3 ou 4 quartos. Mas, como acontece com banheiros, depois de certo ponto você não liga tanto se a casa tem 7 ou 8. Neste exemplo, vamos ver como identificar bons pontos de corte para criar faixas (buckets).

Este exercício faz parte do curso

Feature Engineering com PySpark

Ver curso

Instruções do exercício

  • Plote a distribuição do dataframe do pandas sample_df usando distplot() do Seaborn.
  • Como parece haver uma cauda longa de valores pouco frequentes após 5, crie as splits de buckets em 1, 2, 3, 4, 5+
  • Crie o transformador buck instanciando Bucketizer() com as splits para definir os buckets; depois, defina a coluna de entrada como BEDROOMS e a coluna de saída como bedrooms.
  • Aplique a transformação do Bucketizer em df usando transform() e atribua o resultado a df_bucket. Em seguida, verifique os resultados com show()

Exercício interativo prático

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

from pyspark.ml.feature import Bucketizer

# Plot distribution of sample_df
sns.____(____, axlabel='BEDROOMS')
plt.show()

# Create the bucket splits and bucketizer
splits = [____, ____, ____, ____, ____, ____, float('Inf')]
buck = ____(splits=____, inputCol=____, outputCol=____)

# Apply the transformation to df: df_bucket
df_bucket = ____.____(____)

# Display results
df_bucket[['BEDROOMS', 'bedrooms']].____()
Editar e executar o código