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

Python Discussion :

Classification metrics can't handle a mix of multiclass and continuous targets


Sujet :

Python

  1. #1
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 464
    Par défaut Classification metrics can't handle a mix of multiclass and continuous targets
    Salut les développeurs, je tente d'implémenter un système de recommandation de film, je suis arrivée à la prédiction des votes des utilisateur, j'ai une matrice user_pred ou chaque ligne i represente tous les votre prédis de l'utilisateur i. j'ai aussi une matrice test pour tester à quel point les prédictions sont justes.

    j'essaye de calculer accuracy_score :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     for j in range(0, len(test)):
      print 'accuracy score',accuracy_score(np.asarray(test[i]), user_pred[i]))
    j'ai cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ValueError: Classification metrics can't handle a mix of multiclass and continuous targets
    meme erreur avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    precision, recall, fscore, support = score(np.asarray(test[i]), user_pred[i]))
    quelqu'un aurait une idée de l'erreur, je dois vraiment calculer ça surtout precision et recall

    merci d'avance pour votre aide

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 732
    Par défaut
    Salut,

    Citation Envoyé par selmagsi Voir le message
    quelqu'un aurait une idée de l'erreur, je dois vraiment calculer ça surtout precision et recall
    Pour avoir une idée de l'erreur, il faudrait déjà savoir de quelle bibliothèque vous avez sorti la fonction accuracy_score.
    Ça aiderait à trouver la documentation de la fonction (que vous pouvez lire par ailleurs) voire aller farfouiller dans les sources pour voir dans quelles conditions cette erreur est levée.
    Supposons qu'il s'agisse de sklean.metrics., prenez l'exemple de la documentation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> import numpy as np
    >>> from sklearn.metrics import accuracy_score
    >>> y_pred = [0, 2, 1, 3]
    >>> y_true = [0, 1, 2, 3]
    >>> accuracy_score(y_true, y_pred)
    0.5
    >>> accuracy_score(y_true, y_pred, normalize=False)
    2
    et remplacez y_true = [0, 1, 2, 3] par y_true = [0, 1, [2, 3], 4].
    Vous devriez avoir le même message d'erreur.... donc le problème est dans les arguments passés à la fonction.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 464
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    et remplacez y_true = [0, 1, 2, 3] par y_true = [0, 1, [2, 3], 4].
    Vous devriez avoir le même message d'erreur.... donc le problème est dans les arguments passés à la fonction.

    - W
    oui c'est au juste cette bibliothéque, mais pourquoi je suis sur que chaque element de test[i]) ou user_pred[i] est unitaire , d'ou ca provient donc?? !! je suis perplexe la!!
    pour m'assurer j'ai fait un affichage et ça donne chaque élément un Float , je ne peux pas mettre un post vu que la taille dépasse 1000

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 732
    Par défaut
    Citation Envoyé par selmagsi Voir le message
    oui c'est au juste cette bibliothéque, mais pourquoi je suis sur que chaque element de test[i]) ou user_pred[i] est unitaire , d'ou ca provient donc?? !! je suis perplexe la!!
    pour m'assurer j'ai fait un affichage et ça donne chaque élément un Float , je ne peux pas mettre un post vu que la taille dépasse 1000
    Allez voir les sources pour comprendre comment çà détecte cette erreur là, çà vous donnera peut être des idées.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 464
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Allez voir les sources pour comprendre comment çà détecte cette erreur là, çà vous donnera peut être des idées.

    - W
    Merci pour cette idée, mais c'est parce que je n'ai pas pu en tirer profit de la doc que je me suis dirigée vers vous.
    voila ça point excate vers la l'erreur
    Images attachées Images attachées  

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 732
    Par défaut
    Citation Envoyé par selmagsi Voir le message
    Merci pour cette idée, mais c'est parce que je n'ai pas pu en tirer profit de la doc que je me suis dirigée vers vous.
    Certes mais sans les données (car c'est d'elles que viennent le problème), on peut tout au plus "lire le code":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        y_type = set([type_true, type_pred])
        if y_type == set(["binary", "multiclass"]):
            y_type = set(["multiclass"])
     
        if len(y_type) > 1:
    et conjecturer: puisque y_type est un ensemble, les types (retournés par type_of_target) sont différents et ne sont pas égaux à set(["binary", "multiclass"]). Après vous pouvez lancer la console Python ou modifier le fichier source pour voir ce que sont type_true et type_pred. Et essayer de trouver/comprendre pourquoi il trouve çà différent...
    Bref, le boulot du programmeur lambda.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 464
    Par défaut
    finalement les données n'étaient pas entières , et c'est clair d'apres le message .
    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/07/2003, 11h52
  2. Manipulation des handle contexte
    Par rockbiker dans le forum DirectX
    Réponses: 1
    Dernier message: 09/05/2003, 18h51
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. pb de récup de handle à partir d'une dll
    Par yokito dans le forum Langage
    Réponses: 2
    Dernier message: 20/08/2002, 12h29
  5. pb de handle en C
    Par deedje dans le forum C
    Réponses: 3
    Dernier message: 21/06/2002, 16h19

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