2017-09-30 2 views
2

scikit-learn a deux fonctions de régression logistique:Que signifie le CV dans sklearn.linear_model.LogisticRegressionCV?

  • sklearn.linear_model.LogisticRegression
  • sklearn.linear_model.LogisticRegressionCV

Je suis juste curieux de ce que le CV signifie dans le second . Le seul acronyme que je connais dans ML qui corresponde à "CV" est la validation croisée, mais je suppose que ce n'est pas le cas, puisque cela serait réalisé dans scikit-learn avec une fonction wrapper, et non dans la fonction de régression logistique elle-même. Je pense).

Répondre

2

Vous avez raison de penser que ce dernier permet à l'utilisateur d'effectuer une validation croisée. L'utilisateur peut passer le nombre de plis comme argument cv de la fonction pour effectuer une validation croisée k-fold (la valeur par défaut est 10 fois avec StratifiedKFold).

Je recommande la lecture de la documentation pour les fonctions LogisticRegression et LogisticRegressionCV

1

Oui, il est la validation croisée. Extrait de la docs:

Pour la grille de valeurs Cs (qui sont fixés par défaut à dix valeurs dans une échelle logarithmique entre 1e4 et 1e4), le meilleur hyperparamètres est sélectionnée par la section de validation StratifiedKFold , mais il peut être changé en utilisant le paramètre cv.

Le point ici est la suivante:

  • oui: sklearn a générales wrappers modèle de sélection fournissant fonctionnalité CV pour tous les classificateurs/régresseurs
  • mais: lorsque le classificateur/regressor est connu/fixé a priori (dans une certaine mesure) ou parfois même un modèle CV, on peut gagner des avantages en utilisant ces faits avec du code spécialisé lié à un classificateur/régresseur résultant en amélioration des performances!
    • En général:
      • CV déjà intégré dans l'optimisation algorithme
      • efficace-démarrage à chaud (au lieu de re-optimisation complète après seulement le changement d'un paramètre comme alpha)

Il semble, au moins cette dernière idée est utilisée dans LogisticRegressionCV de sklearn, comme on le voit dans cet extrait:

Dans le cas de newton-cg et lbfgs solveurs, nous commençons à chaud le long du chemin à savoir deviner les coefficients initiaux du présent apte à être les coefficients ont après convergence dans l'ajustement précédent, il est donc supposé être plus rapide pour les données denses de haute dimension.