> Как кодировать признак рейтинг от 1 до 5 (Go)
Уровень: senior · Роль: backend · Категория: Технические вопросы
Компании: Автомакон
Стек: Go
> Пример ответа
Для кодирования признака рейтинга от 1 до 5 в Go можно использовать несколько подходов в зависимости от задачи.
1. Целочисленное кодирование (прямое)
Самый простой способ - оставить значения как есть, если рейтинг уже представлен числом. В Go это будет тип int или int8 для экономии памяти:
GOtype Rating int8const (Rating1 Rating = 1Rating2 Rating = 2Rating3 Rating = 3Rating4 Rating = 4Rating5 Rating = 5)
2. One-hot encoding (для категориальных моделей)
Если рейтинг не имеет линейной зависимости (например, в некоторых ML-моделях), лучше использовать one-hot:
GOfunc OneHotEncode(rating int) [5]int {if rating < 1 || rating > 5 {return [5]int{} // или обработать ошибку}var encoded [5]intencoded[rating-1] = 1return encoded}// Пример: рейтинг 3 -> [0,0,1,0,0]
3. Нормализация (для нейросетей или регрессии)
Приведение к диапазону [0,1] или [-1,1]:
GOfunc Normalize(rating int) float64 {return float64(rating-1) / 4.0 // от 0.0 до 1.0}
> Похожие задачи по backend
В чем преимущество PostgreSQL перед MongoDB
Приходилось ли работать с асинхронностью
Зачем приводить координату к float при делении?
Сколько SQL-запросов выполняется при использовании join в Django ORM
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью