Scikit-learn: Ajouter une régression quantile linéaire

Créé le 13 mai 2014  ·  17Commentaires  ·  Source: scikit-learn/scikit-learn

Il semble qu'il n'y ait pas beaucoup de packages en python avec régression quantile...

Commentaire le plus utile

Bonjour à tous! Veuillez consulter mon PR quand vous en aurez le temps.

Tous les 17 commentaires

Il semble qu'il n'y ait pas beaucoup de packages en python avec quantile
régression...

Pourquoi devrait-il aller dans scikit-learn ?

Si possible, pourquoi pas ?

Parce que nous avons déjà beaucoup de code à maintenir et que nous n'incluons que les algorithmes ML populaires. Est-ce populaire ? Présente-t-il des avantages évidents pour les tâches d'apprentissage automatique par rapport à d'autres approches ?

(Btw. VW a une régression quantile , avec perte ℓ(p,y) = τ(p - y)[[y ≤ p]] + (1 - τ)(y - p)[[y ≥ p]] où [ [⋅]] sont des parenthèses d'Iverson.)

GradientBoostingRegressor prend en charge la régression quantile (en utilisant loss=quantile et le paramètre alpha ). Voir http://scikit-learn.org/dev/auto_examples/ensemble/plot_gradient_boosting_quantile.html#example -ensemble-plot-gradient-boosting-quantile-py pour un exemple.

J'aurais dû vérifier ça. Fermeture de ce sujet.

Bien que je ne sois pas d'accord sur le fait qu'il n'y a pas beaucoup de packages pour la régression quantile sur Python, je pense qu'il est important d'avoir une régression quantile pure (pas dans une méthode Ensemble) sur sci-kit learn.

La régression quantile a l'avantage de cibler un quantile spécifique de y. Avec cela, il est possible de réduire la différence de la médiane de y_pred et y. Cela revient à minimiser l'erreur absolue dans ce cas, mais c'est beaucoup plus général et cela fonctionne pour d'autres quantiles.

Les banques l'utilisent beaucoup lorsqu'il s'agit de notation de crédit et d'autres modèles, c'est donc un modèle testé au combat avec de vraies applications. R et SAS ont implémenté ce modèle.

@prcastro voulez-vous dire pour un modèle linéaire ?

Exactement. Aujourd'hui, sklearn implémente la régression quantile sur les méthodes d'ensemble. Cependant, il est généralement utilisé comme modèle linéaire régulier.

Je serais ouvert à l'ajouter. @jnothman @GaelVaroquaux ?

Cela semble assez établi en effet

Je serais ouvert à l'ajouter. @jnothman @GaelVaroquaux ?

Aucune opposition. Nous avons juste besoin d'un bon PR et de temps pour l'examiner.

Concernant le cas particulier de la régression quantile pour la médiane (perte absolue), par opposition aux quantiles plus généraux, il semble que http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.HuberRegressor.html permettrait si seulement nous pouvions passer epsilon=0.0. Pourquoi HuberRegressor nécessite 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. )

La perte de Huber avec epsilon=0 est un problème d'optimisation non lisse : un
ne peut pas utiliser la même classe de solveurs.

J'ai ajouté une régression linéaire quantile classique dans la demande d'extraction ci-dessus. Veuillez l'examiner !

Bonjour à tous! Veuillez consulter mon PR quand vous en aurez le temps.

ping

Il semble qu'il n'y ait pas beaucoup de packages en python avec régression quantile...

ils ne vont pas écouter son 2020 et nous n'avons toujours pas de package de régression qunatile approprié

Cette page vous a été utile?
0 / 5 - 0 notes