Ограничение значений предсказания линейной регрессии с помощью scikit
Я тренирую модель линейной регрессии, используя набор данных, который имеет реальные значения меток в интервале [0,10]. Мои прогнозируемые значения в тестовом наборе имеют некоторые прогнозы, превышающие 10. Есть ли способ ограничить прогнозы до 10.
Я подумываю сделать условную проверку, чтобы, если прогноз превысил 10, я явно установил его на 10.
Есть ли способ лучше?
1 ответ
Решение
Если y
является выходом объекта регрессии predict
метод, то вы можете Numpy's minimum
ограничить его до 10:
y = np.minimum(y, 10.)
Чтобы также ограничить его ниже нуля, сделайте
y = np.maximum(np.minimum(y, 10.), 0.)
или короче:
y = np.clip(y, 0., 10.)