sklearn (scikit-learn), la régression logistique paquet — ensemble formé des coefficients de la classification.
J'ai donc lu le scikit-learn paquet webpate:
Je peux utiliser la régression logistique pour ajuster les données, et après je obtenir une instance de LogisticRegression, je peux l'utiliser pour classer de nouveaux points de données. So far So good.
Est-il un moyen de définir les coefficients de LogisticRegression() de l'instance? Car après je obtenir de la formation des coefficients, je veux utiliser la même API pour classer de nouveaux points de données.
Ou peut-être quelqu'un d'autre recommande un autre python machine de paquet d'apprentissage qui ont une meilleure Api?
Grâce
OriginalL'auteur CodeNoob | 2011-12-16
Vous devez vous connecter pour publier un commentaire.
En effet, la
estimator.coef_
etestimator.intercept_
attributs sont en lecture seule python propriétés au lieu de l'habituel python attributs. Leurs valeurs proviennent de laestimator.raw_coef_
tableau dont la disposition de la mémoire directement les cartes attendus disposition de la mémoire du sous-jacentliblinear
C++ mise en œuvre de la régression logistique afin d'éviter toute copie de la mémoire des paramètres lors de l'appel deestimator.predict
ouestimator.predict_proba
.Je suis d'accord que le fait d'avoir des propriétés en lecture seule est une limitation et nous devrions trouver un moyen de se débarrasser de ces propriétés, mais si nous refactoriser cette mise en œuvre nous devons également prendre soin de ne pas introduire d'inutiles copie de la mémoire qui n'est pas trivial à faire après avoir eu un coup d'oeil sur le code source.
J'ai ouvert un problème sur le tracker de ne pas oublier cette limitation.
Dans le temps, vous pouvez lire la
@property
annotéestimator.coef_
méthode pour comprendre commentestimator.coef_
etestimator.raw_coef_
sont liées et modifiez la valeur deestimator.raw_coef_
directement.OriginalL'auteur ogrisel
Les coefficients sont des attributs de l'estimateur de l'objet--que vous avez créé lorsque vous avez instancié la Régression Logistique de la classe-de sorte que vous pouvez accéder à la normale de façon python:
Donc, c'est comment faire pour obtenir l' coefficients, mais si vous allez seulement utiliser ceux de prédiction, d'une manière plus directe est d'utiliser l'estimateur du prédire méthode:
Bonjour--je ne suis pas sûr de suivre. À prévoir (sans re-formation le classificateur), vous avez juste besoin de faire persister le classificateur après vous vous entraînez il--c'est à dire, que l'on peut faire w/ mon extrait ci-dessus. Vous pouvez appeler la "prédire" la méthode sur la fcf objet de maintes et maintes fois, w/o de recyclage. Qu'est ce que vous voulez, non? Si vous êtes préoccupé par cela, il suffit de vérifier les valeurs dans la fcf.__dict__ et vous verrez qu'il ne change pas. Maintenant, si vous voulez re-définir les coefficients, eh bien, vous pouvez le faire à cause de la fcf.__dict__ est juste un python dictionnaire et vous pouvez définir la valeur associé avec n'importe quelle touche.
doug, Merci pour votre réponse. Oui ma question est précisément sur la façon de faire persister le classificateur. Mais ogrisel répondu à ma question dans sa réponse. Je vous remercie beaucoup pour votre temps!
OriginalL'auteur doug