Scikit-learn: Добавить линейную квантильную регрессию

Созданный на 13 мая 2014  ·  17Комментарии  ·  Источник: scikit-learn/scikit-learn

Кажется, что в питоне не так много пакетов с квантильной регрессией...

Самый полезный комментарий

Всем привет! Пожалуйста, просмотрите мой PR, когда у вас будет на это время.

Все 17 Комментарий

Похоже, пакетов в питоне с квантилем не очень много
регресс...

Почему это должно идти в scikit-learn?

Если возможно, то почему бы и нет?

Потому что у нас уже есть много кода, который нужно поддерживать, и мы включаем только популярные алгоритмы машинного обучения. Это популярно? Имеет ли он явные преимущества для задач машинного обучения по сравнению с другими подходами?

(Кстати , VW имеет квантильную регрессию с потерями ℓ(p,y) = τ(p - y)[[y ≤ p]] + (1 - τ)(y - p)[[y ≥ p]], где [ [⋅]] — скобки Айверсона.)

GradientBoostingRegressor поддерживает квантильную регрессию (с использованием loss=quantile и параметра alpha ). Пример см. на странице http://scikit-learn.org/dev/auto_examples/ensemble/plot_gradient_boosting_quantile.html#example -ensemble-plot-gradient-boosting-quantile-py.

Я должен был это проверить. Закрытие этого вопроса.

Хотя я не согласен с тем, что это не так много пакетов для квантильной регрессии на Python, я считаю, что важно иметь чистую квантильную регрессию (не внутри метода ансамбля) в научном наборе.

Квантильная регрессия имеет то преимущество, что она ориентирована на конкретный квантиль y. При этом можно уменьшить разницу медианы y_pred и y. В этом случае это похоже на минимизацию абсолютной ошибки, но гораздо более общее и работает для других квантилей.

Банки часто используют это при работе с кредитным скорингом и другими моделями, так что это проверенная в реальных условиях модель. Эта модель реализована в R и SAS.

@prcastro вы имеете в виду линейную модель?

Точно. Сегодня sklearn реализует квантильную регрессию для ансамблевых методов. Однако обычно он используется как обычная линейная модель.

Я был бы готов добавить его. @jnothman @GaelVaroquaux?

Кажется, это действительно установлено

Я был бы готов добавить его. @jnothman @GaelVaroquaux?

Нет оппозиции. Нам просто нужен хороший PR, и время, чтобы рассмотреть его.

Что касается конкретного случая квантильной регрессии для медианы (абсолютная потеря), в отличие от более общих квантилей, кажется, что http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.HuberRegressor.html позволит это если бы мы только могли передать epsilon=0.0. Почему HuberRegressor требует epsilon : float, greater than 1.0 ? ( The Huber Regressor optimizes the squared loss for the samples where |(y - X'w) / sigma| < epsilon and the absolute loss for the samples where |(y - X'w) / sigma| > epsilon. )

Потеря Хубера с epsilon=0 — это проблема негладкой оптимизации: один
не может использовать один и тот же класс решателей.

Я добавил классическую квантильную линейную регрессию в запросе на вытягивание выше. Пожалуйста, просмотрите его!

Всем привет! Пожалуйста, просмотрите мой PR, когда у вас будет на это время.

пинг

Кажется, что в питоне не так много пакетов с квантильной регрессией...

они не собираются слушать его 2020 год, и до сих пор у нас нет надлежащего пакета количественной регрессии

Была ли эта страница полезной?
0 / 5 - 0 рейтинги