4 votes

scikit-learn GaussianProcessRegressor vs GaussianProcess ? Pourquoi GaussianProcess a-t-il été déprécié dans la version 0.18 ?

J'essaie d'utiliser la régression par krigeage (processus gaussien) avec un terme constant et un modèle de corrélation exponentiel généralisé. J'ai pu le faire dans l'ancienne version avec Processus gaussien (version 0.17.1). Lorsque je l'utilise, j'obtiens un avertissement disant

Alerte à la dépréciation : Class GaussianProcess is deprecated ; GaussianProcess a été déprécié dans la version 0.18 et sera supprimé dans la 0.20. Utilisez le GaussianProcessRegressor à la place.

Cependant, je ne trouve pas d'options similaires avec Régresseur de processus gaussien . Je me demande si je peux faire la même chose avec GaussianProcessRegressor ou si scikit-learn ne prévoit plus de supporter cette fonctionnalité.

0voto

Y0da Points 1909

Oui, vous pouvez.

El GaussianProcessRegressor peut être utilisé en remplacement d'un cours de base. Par défaut, elle utilise un RBF Noyau. Ainsi, en fonction de votre cas, vous pouvez définir le noyau en conséquence. Voir Rasmussen . En effet, le but de cette nouvelle classe est de mettre en œuvre la GP selon cette bible.

0voto

optimizationguy Points 21

La fonction GaussianProcess (version 0.17.1) est basée sur le paquet DACE et fournit deux options : le terme de tendance et le terme de corrélation.

  1. Le terme de tendance dans le krigeage peut être défini comme constant ou polynomial (linéaire, quadratique). GaussianProcessRegressor suppose un terme de tendance constant qui est la moyenne des données d'apprentissage. Il ne prend pas en charge le krigeage avec tendance. Cependant, ce n'est pas un problème majeur car la littérature suggère que le fait d'avoir un terme de tendance compliqué pourrait ne pas être très utile. Voir (Chen, 2016) par exemple.

  2. Le terme de corrélation dans GaussianProcess est similaire aux noyaux de corrélation dans GaussianProcessRegressor, ce dernier étant plus flexible. Le noyau RBF est similaire au noyau exponentiel au carré sous une forme légèrement différente. (Au lieu de exp(-theta * (distance)^2) est remplacé par exp(-theta*(distance)^2/longueur^2).

Enfin, la variance du processus dans GaussianProcess est obtenue par une expression analytique alors que dans GaussianProcessRegressor elle est obtenue par la maximisation de l'estimateur de vraisemblance.

Références :

S. N. Lophaven, H. B. Nielsen, J. Sondergaard, DACE-A MATLAB Kriging toolbox, version 2.0, Tech. Rep., 2002a.

H. Chen, J. L. Loeppky, J. Sacks, W. J. Welch, et al, Analysis Methods for Computer Experiments : How to Assess and What Counts ?", Statistical Science 31 (1) (2016) 40-60.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X