> Как кодировать признак рейтинг от 1 до 5 (Go)

Уровень: senior · Роль: backend · Категория: Технические вопросы

Компании: Автомакон

Стек: Go

> Пример ответа

Для кодирования признака рейтинга от 1 до 5 в Go можно использовать несколько подходов в зависимости от задачи.

1. Целочисленное кодирование (прямое)
Самый простой способ - оставить значения как есть, если рейтинг уже представлен числом. В Go это будет тип int или int8 для экономии памяти:

GO
type Rating int8
const (
Rating1 Rating = 1
Rating2 Rating = 2
Rating3 Rating = 3
Rating4 Rating = 4
Rating5 Rating = 5
)

2. One-hot encoding (для категориальных моделей)
Если рейтинг не имеет линейной зависимости (например, в некоторых ML-моделях), лучше использовать one-hot:

GO
func OneHotEncode(rating int) [5]int {
if rating < 1 || rating > 5 {
return [5]int{} // или обработать ошибку
}
var encoded [5]int
encoded[rating-1] = 1
return encoded
}
// Пример: рейтинг 3 -> [0,0,1,0,0]

3. Нормализация (для нейросетей или регрессии)
Приведение к диапазону [0,1] или [-1,1]:

GO
func Normalize(rating int) float64 {
return float64(rating-1) / 4.0 // от 0.0 до 1.0
}

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью