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]