Avec une régression multi-dimensionnelle des cibles
Je suis en utilisant scikit-learn faire de régression et mon problème est le suivant. J'ai besoin de faire de régression sur plusieurs paramètres (vecteurs). Cela fonctionne bien avec une certaine régression des approches telles que ensemble.ExtraTreesRegressor
et ensemble.RandomForestRegressor
. En effet, on peut donner un vecteur de vecteurs en tant que cibles pour l'ajustement du modèle (fit(X,y)
méthode) pour les deux susmentionées des méthodes de régression.
Cependant, lorsque j'essaie avec ensemble.GradientBoostingRegressor
, ensemble.AdaBoostRegressor
et linear_model.SGDRegressor
, le classificateur ne parvient pas à ajuster le modèle, car il attend de dimension 1 valeurs cibles (y argument de la fit(X,y)
méthode). Cela signifie que, avec ces méthodes de Régression je peux estimer qu'un seul paramètre à la fois. Ce n'est pas adapté à mon problème, car il peut prendre un certain temps alors que j'ai besoin d'estimer à environ 20 paramètres. D'autre part, je voudrais vraiment tester ces approches.
Donc, ma question est: Est-ce que quelqu'un sait si il existe une solution pour adapter le modèle une fois et d'estimer plusieurs paramètres pour ensemble.GradientBoostingRegressor
, ensemble.AdaBoostRegressor
et linear_model.SGDRegressor
?
J'espère que j'ai été assez clair ...
OriginalL'auteur user1120168 | 2014-02-04
Vous devez vous connecter pour publier un commentaire.
J'interprète que ce que vous avez est un problème de plusieurs de régression multivariée.
Pas chaque méthode de régression dans scikit-learn peut gérer ce genre de problème et vous devriez consulter la documentation de chacun de la trouver. En particulier, ni SGDRegressor, GradientBoostingRegressor ni AdaBoostRegressor l'appui de cette le moment:
fit(X, y)
spécifie X : semblable au tableau, la forme = [n_samples, n_features] et y: semblable au tableau, la forme = [n_samples].Cependant, vous pouvez utiliser d'autres méthodes de scikit-learn. Par exemple, les modèles linéaires:
OriginalL'auteur emiguevara
Comme déjà mentionné, seuls certains modèles de soutien multivariée de sortie. Si vous souhaitez utiliser l'un de l'autres, vous pouvez utiliser une nouvelle classe pour la parallélisation des régresseurs pour multivariée de sortie: MultiOutputRegressor.
Vous pouvez l'utiliser comme ceci:
OriginalL'auteur jstriebel