Ограничение значений предсказания линейной регрессии с помощью scikit - PullRequest
3 голосов
/ 18 марта 2012

Я тренирую модель линейной регрессии, используя набор данных, который имеет реальные значения меток в интервале [0,10]. Мои прогнозируемые значения в тестовом наборе имеют некоторые прогнозы, превышающие 10. Есть ли способ ограничить прогнозы до 10.

Я подумываю провести условную проверку, чтобы, если прогноз превысил 10, я явно установил его на 10.

Есть ли лучший способ?

1 Ответ

6 голосов
/ 19 марта 2012

Если 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.)
...