Comece agoraComece grátis

One-Hot Encoding

Nos Estados Unidos, o lugar onde você mora determina a quais escolas seus filhos podem frequentar. Por isso, é natural que muitas pessoas se importem muito com quais distritos escolares o futuro lar estará. Embora os distritos escolares sejam numerados em SCHOOLDISTRICTNUMBER, na prática eles são categóricos. Ou seja, somar ou calcular a média desses valores não faz sentido. Portanto, neste exemplo vamos converter SCHOOLDISTRICTNUMBER de uma variável categórica em um vetor numérico para usar no nosso modelo de Machine Learning depois.

Este exercicio faz parte do curso

Feature Engineering com PySpark

Ver curso

Instruções do exercicio

  • Instancie um StringIndexer chamado string_indexer com SCHOOLDISTRICTNUMBER como entrada e School_Index como saída.
  • Aplique o transformer string_indexer ao df com fit() e transform(). Armazene o dataframe transformado em indexed_df.
  • Crie um OneHotEncoder chamado encoder usando School_Index como entrada e School_Vec como saída.
  • Aplique a transformação a indexed_df usando transform(). Inspecione as etapas iterativas da transformação com o código fornecido.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

from pyspark.ml.feature import OneHotEncoder, StringIndexer

# Map strings to numbers with string indexer
string_indexer = ____(inputCol=____, outputCol=____)
indexed_df = ____.____(df).____(df)

# Onehot encode indexed values
encoder = ____(inputCol=____, outputCol=____)
encoded_df = ____.____(indexed_df)

# Inspect the transformation steps
encoded_df[['SCHOOLDISTRICTNUMBER', 'School_Index', 'School_Vec']].show(truncate=100)
Editar e Executar Código