Scikit-learn: Adicionar regressão quantílica linear

Criado em 13 mai. 2014  ·  17Comentários  ·  Fonte: scikit-learn/scikit-learn

Parece que não há muitos pacotes em python com regressão quantílica ...

Comentários muito úteis

Olá pessoal! Por favor, revise meu PR quando tiver tempo para isso.

Todos 17 comentários

Parece que não há muitos pacotes em python com quantil
regressão...

Por que deveria ir no scikit-learn?

Se possível, por que não?

Porque já temos muito código para manter e incluímos apenas algoritmos populares de ML. Isso é popular? Ele traz benefícios claros para tarefas de aprendizado de máquina em relação a outras abordagens?

(Btw. VW tem regressão quantílica , com perda ℓ(p,y) = τ(p - y)[[y ≤ p]] + (1 - τ)(y - p)[[y ≥ p]] onde [ [⋅]] são colchetes de Iverson.)

GradientBoostingRegressor suporta regressão quantílica (usando loss=quantile e o parâmetro alpha ). Consulte http://scikit-learn.org/dev/auto_examples/ensemble/plot_gradient_boosting_quantile.html#example -ensemble-plot-gradient-boosting-quantile-py para obter um exemplo.

Eu deveria ter verificado isso. Fechando este assunto.

Embora eu não concorde que não haja muitos pacotes para Quantile Regression em Python, acredito que seja importante ter Quantile Regression puro (não dentro de um método Ensemble) no sci-kit learn.

A regressão de quantil tem a vantagem de direcionar em um quantil específico de y. Com isso, é possível reduzir a diferença da mediana de y_pred e y. É semelhante a minimizar o erro absoluto neste caso, mas é muito mais geral e funciona para outros quantis.

Os bancos usam muito isso ao lidar com pontuação de crédito e outros modelos, por isso é um modelo testado em batalha com aplicações reais. R e SAS tem este modelo implementado.

@prcastro você quer dizer para um modelo linear?

Exatamente. Hoje, o sklearn implementa a regressão quantílica em métodos de conjunto. No entanto, geralmente é usado como um modelo linear regular.

Eu estaria aberto a adicioná-lo. @jnothman @GaelVaroquaux?

Parece bastante estabelecido de fato

Eu estaria aberto a adicioná-lo. @jnothman @GaelVaroquaux?

Nenhuma oposição. Só precisamos de um bom PR e tempo para revisá-lo.

Em relação ao caso específico de regressão quantílica para a mediana (perda absoluta), em oposição a quantis mais gerais, parece que http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.HuberRegressor.html permitiria se pudéssemos passar epsilon=0.0. Por que o HuberRegressor requer 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. )

A perda de Huber com epsilon=0 é um problema de otimização não suave: um
não pode usar a mesma classe de solucionadores.

Eu adicionei regressão linear quantílica clássica na solicitação pull acima. Por favor, revise!

Olá pessoal! Por favor, revise meu PR quando tiver tempo para isso.

ping

Parece que não há muitos pacotes em python com regressão quantílica ...

eles não vão ouvir seu 2020 e ainda não temos um pacote de regressão qunatile adequado

Esta página foi útil?
0 / 5 - 0 avaliações