Sobes.tech
Middle

Como codificar a característica de classificação de 1 a 5?

sobes.tech IA

Resposta da IA

Uma classificação de 1 a 5 é uma característica ordinal que pode ser codificada de várias formas, dependendo da tarefa e do modelo:

  • Codificação de números inteiros — usar simplesmente os números 1, 2, 3, 4, 5. Adequado se o modelo considerar a ordem e as distâncias entre os valores (por exemplo, regressão linear).

  • Codificação One-Hot — criar 5 características binárias, cada uma correspondente a um valor de classificação. Útil se o modelo não deve perceber a ordem como uma diferença numérica (por exemplo, árvores de decisão).

  • Codificação ordinal com preservação da ordem — pode usar números, mas considerando que a diferença entre 1 e 2 pode não ser igual à diferença entre 4 e 5.

  • Codificação Target ou Média — substituir a classificação pelo valor médio da variável alvo para cada classificação, se a tarefa for previsão.

Exemplo de codificação de números inteiros em Go:

ratings := []int{1, 3, 5, 2, 4}
// Usar exatamente como está para o modelo

Para codificação One-Hot, pode criar um array de 5 elementos, onde a posição corresponde à classificação:

func oneHotEncode(rating int) []int {
    encoded := make([]int, 5)
    if rating >= 1 && rating <= 5 {
        encoded[rating-1] = 1
    }
    return encoded
}

// Exemplo de uso
encoded := oneHotEncode(3) // [0, 0, 1, 0, 0]