IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Big Data Discussion :

Python - Erreur GridSearchCV Régression Logistique


Sujet :

Big Data

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2014
    Messages : 90
    Points : 65
    Points
    65
    Par défaut Python - Erreur GridSearchCV Régression Logistique
    Bonjour,

    J'essaie de faire tourner un code issu d'un livre sur des données réelles (textuelles) et j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    scores = grid.cv_results_['mean_test_score'].reshape(-1, 3).T
    AttributeError: 'GridSearchCV' object has no attribute 'cv_results_'
    Le but est d'afficher l'évolution du tx de bien classé selon mes parametres (C / mot unique, bigrams et trigrams) sur mon echantillon test.
    Voici le code associé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    pipe = make_pipeline(TfidfVectorizer(min_df=5), LogisticRegression())
    
    param_grid = {'logisticregression__C': [ 0.001, 0.01, 0.1, 1, 10, 100],#
                  "tfidfvectorizer__ngram_range": [(1, 1),(1, 2),(1, 3)]} #
    
    grid = GridSearchCV(pipe, param_grid, cv=5)
    grid.fit(text_train, Y_train)
    
    
    # extract scores from grid_search
    scores = grid.cv_results_['mean_test_score'].reshape(-1, 3).T
    Si qqn a une idée ? j'ai testé ajouter l'option refit=True dans la fonction GridSearchCV() sans succès.

    Vous remerciant par avance.

    Cdlt,

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Est-ce que tu as essaye de mettre refit=True ?

    D'apres la doc :
    refit : boolean
    Refit the best estimator with the entire dataset.
    If "False", it is impossible to make predictions using
    this GridSearchCV instance after fitting.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Bonsoir,

    Je ne maitrise pas Python, et encore moins le Machine Learning. Mais j'ai trouvé le livre auquel tu fais référence, et j'ai exécuté une grande partie du code du chapitre 7.

    Pour cela, j'ai installé Anaconda3 en version 4.2.0 pour Windows sur mon poste qui tourne sous Windows 7, et j'ai exécuté le code du livre sous Jupyter Notebook.

    Voici la partie du code qui t"intéresse et qui a fonctionné pour moi :

    Nom : code1.JPG
Affichages : 705
Taille : 60,9 Ko

    Et voici le résultat graphique :
    Images attachées Images attachées  

  4. #4
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Je n'arrive pas à insérer la copie d'écran, mais en tout cas je te confirme que le code fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # visualize heat map
    import mglearn
    
    heatmap = mglearn.tools.heatmap(
    scores, xlabel="C", ylabel="ngram_range", cmap="viridis", fmt="%.3f",
    xticklabels=param_grid['logisticregression__C'],
    yticklabels=param_grid['tfidfvectorizer__ngram_range'])
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    %matplotlib inline
    import matplotlib.pyplot as plt
    
    # visualize heat map
    heatmap = mglearn.tools.heatmap(
    scores, xlabel="C", ylabel="ngram_range", cmap="viridis", fmt="%.3f",
    xticklabels=param_grid['logisticregression__C'],
    yticklabels=param_grid['tfidfvectorizer__ngram_range'])
    plt.colorbar(heatmap)

  5. #5
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Voici le résultat graphique :

    Nom : code2.JPG
Affichages : 837
Taille : 78,3 Ko

  6. #6
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Dernier point : en Python, on peut connaître les attributs d'un objet grâce au dictionnaire.

    Etant donné que tu as réussi à instancier ton objet grid, peux-tu faire STP :

    Dans le résultat, moi je vois bien l'attribut cv_results_

    Si ce n'est pas ton cas, à mon avis, mais je peux me tromper, il faudrait voir avec quelle version de Scikit-Learn tu travailles, et si elle n'est pas trop vieille.
    Peut-être te faut-il une MAJ ?

    Nom : CV_results.JPG
Affichages : 639
Taille : 73,9 Ko

  7. #7
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Pour finir, en pages 12 et 13 du livre , il est indiqué les versions, et notamment il est demandé de travailler avec au moins la version 0.18 de Scikit-Learn, ou supérieure.

    Voici la configuration que j'ai utilisé pour ma part :

    Nom : versions.JPG
Affichages : 664
Taille : 57,0 Ko

Discussions similaires

  1. Erreur lors d'une régression logistique
    Par virginielc dans le forum R
    Réponses: 8
    Dernier message: 29/03/2016, 17h22
  2. régression logistique et graphiques
    Par ebongue dans le forum SAS STAT
    Réponses: 4
    Dernier message: 16/06/2009, 13h54
  3. Réponses: 0
    Dernier message: 14/05/2009, 11h11
  4. régression logistique SAS
    Par sandrine_87 dans le forum SAS STAT
    Réponses: 1
    Dernier message: 09/02/2009, 21h01
  5. Réponses: 1
    Dernier message: 17/04/2007, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo