ComeçarComece de graça

Mean target encoding

Primeiro, você vai criar uma função que implementa mean target encoding. Lembre-se de que você precisa desenvolver as duas etapas a seguir:

  1. Calcular a média no conjunto de treino e aplicar no de teste
  2. Dividir o treino em K folds. Calcular a média out-of-fold para cada fold e aplicar a esse fold específico

Cada uma dessas etapas será implementada em uma função separada: test_mean_target_encoding() e train_mean_target_encoding(), respectivamente.

A função final mean_target_encoding() recebe como argumentos: os DataFrames de treino e de teste, o nome da coluna categórica a ser codificada, o nome da coluna alvo e um parâmetro de suavização alpha. Ela retorna dois valores: uma nova feature para os DataFrames de treino e de teste, respectivamente.

Este exercício faz parte do curso

Vencendo uma competição do Kaggle em Python

Ver curso

Exercício interativo prático

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

def test_mean_target_encoding(train, test, target, categorical, alpha=5):
    # Calculate global mean on the train data
    global_mean = train[target].mean()
    
    # Group by the categorical feature and calculate its properties
    train_groups = train.groupby(categorical)
    category_sum = train_groups[target].sum()
    category_size = train_groups.size()
    
    # Calculate smoothed mean target statistics
    train_statistics = (category_sum + global_mean * alpha) / (category_size + ____)
    
    # Apply statistics to the test data and fill new categories
    test_feature = test[categorical].map(train_statistics).fillna(____)
    return test_feature.values
Editar e executar o código