2017-02-02 2 views
0

La question est: quand je fais l'ajustement avec un GridSearch, je dois faire quelque chose pour avoir un processus de validation croisée?sklearn Crossvalidation avec GridSearch

chose que je sais:

je peux mettre 1.- une fonction de notation (mais pas clairement comment faire, au moins pour moi)

2.- Si je ne passe pas un paramètre 'cv' à la classe GridSearch puis il utilise la validation croisée triple par défaut. Que fait exactement GridSearch avec les données que je transmets ?, toutes les données sont-elles utilisées dans le train ou sont-elles divisées à l'intérieur d'un train et testent-elles les données?

Merci! PD: il semble que mon classificateur ait un surajustement parce qu'il a un score de 100% mais n'a pas de bons résultats avec de nouvelles données.

Répondre

1

Veuillez jeter un coup d'œil à GridSearchCV documentation. Il décrit tout ce que vous voulez en détail. GridSearch entraînera l'estimateur donné sur toutes les valeurs de paramètres données et trouve les paramètres qui donnent la note la plus élevée (ou la plus faible, si une fonction de perte est utilisée) sur les données de train.

GridSearchCV fera la même chose avec la validation croisée en interne. Les paramètres pour les estimateurs peuvent être fournis en GridSearchCV avec l'argument param_grid.

Pour vos questions:

  1. Notation - Vous pouvez passer une chaîne disponible on this page (selon votre classificateur). Ou vous pouvez passer votre propre marqueur personnalisé avec make_scorer.
  2. CV - Idem pour cv. Soit vous pouvez passer un nombre pour une validation croisée de ce nombre, soit un objet cv. Vous pouvez vérifier les itérateurs cv disponibles au this page.