Как кодировать признак рейтинг от 1 до 5?
Answer from AI
sobes.tech AI
Что хотят услышать интервьюеры:
Рейтинг от 1 до 5 обычно кодируют как порядковый числовой признак, потому что у значений есть естественный порядок. Если модель чувствительна к масштабу, такой признак часто дополнительно нормализуют или стандартизируют. One-hot для рейтинга обычно не нужен, если важен именно порядок.
Определение:
Рейтинг 1–5 — это ordinal-признак: значения упорядочены, но расстояние между ними можно трактовать по-разному в зависимости от задачи. Самый простой способ кодирования — оставить числа 1, 2, 3, 4, 5 как есть. Если модель линейная, нейросеть или алгоритм с чувствительностью к масштабу, полезно привести признак к диапазону [0, 1] или к стандартному виду.
Пример использования:
Например, в задаче прогноза вероятности покупки рейтинг товара из отзывов можно подать в модель как число от 1 до 5, а затем масштабировать.
package main
import "fmt"
func main() {
rating := 4
// Простое ordinal-кодирование: оставляем как есть
encoded := float64(rating)
// Нормализация в диапазон [0, 1]
normalized := float64(rating-1) / 4.0
fmt.Println("encoded:", encoded)
fmt.Println("normalized:", normalized)
}
Пояснение кода:
Код показывает два подхода.
Сначала рейтинг 4 оставляется как числовой признак — это подходит, если модель нормально работает с порядковыми значениями.
Затем рейтинг переводится в диапазон [0, 1]: 1 -> 0.0, 5 -> 1.0, а промежуточные значения распределяются линейно. Это удобно, когда важно уменьшить разброс значений и сделать признак сопоставимым с другими числовыми фичами.
Ключевые моменты:
- Рейтинг 1–5 — это порядковый, а не категориальный без порядка, признак.
- Чаще всего достаточно оставить значения как числа 1..5.
- Для многих моделей полезно дополнительно нормализовать или стандартизировать признак.
- One-hot-кодирование обычно избыточно, если порядок между уровнями важен.
- Если между 4 и 5 есть существенный смысловой скачок, это всё равно не отменяет порядковую природу признака — но способ обработки зависит от модели и задачи.