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

Weka et MOA Discussion :

Weka ne sépare pas mes variables


Sujet :

Weka et MOA

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Weka ne sépare pas mes variables
    J'apprends à utiliser Weka... Pour le moment, je m'arrête à l'importation de données

    Quand je charge mon fichier (j'ai trouvé un tutoriel très bien sur les arbres de décision sur le site), Weka considère mes variables comme une seule : au lieu d'avoir mes 9 variables sur 9 lignes avec chacune un n°, elles figurent toutes sur la même ligne, séparées par des points-virgules.
    Pourtant, mon fichier est bien enregistré au format CSV.
    Comment puis-je faire pour lire mon fichier correctement ?

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Points : 1 058
    Points
    1 058
    Par défaut
    Vous avez essayer de le convertir à la main en format weka (genre sous notepad)?

    Si vous utilisez des points virgules passez en virgule.

    Peut-être les retours à la lignes qui sont au format windows sous linux ou inversement?

    Sinon pouvez-vous afficher le fichier ici (ou un extrait)?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    J'ai tenté de convertir en transformant les points-virgules en virgules, mais je ne peux plus ouvrir le fichier sous Weka.

    Voici le fichier (il s'agit juste d'un test, donc quelques données) :
    QCS100 FAMA FAMB FAMC FAMD FAME IP CPA VO
    151 46 78 47 52 51 1 1 2
    144 37 62 60 43 65 1 1 2
    155 41 67 58 59 53 1 1 2
    125 28 65 46 44 65 2 1 2
    116 34 64 37 43 61 1 2 2
    158 45 71 49 51 65 1 1 2
    147 37 64 55 47 67 1 1 2
    184 41 82 53 60 71 1 1 1
    108 33 65 48 44 41 2 2 2
    175 44 72 55 56 71 1 2 2
    124 30 65 51 46 55 2 2 2
    108 34 60 47 39 51 1 2 2
    122 32 67 45 46 55 1 1 1
    171 42 75 54 60 63 1 1 2
    117 30 67 45 33 65 2 2 2
    181 52 69 53 55 75 2 2 2
    156 41 78 50 46 64 1 2 1
    108 30 55 44 48 54 1 2 2
    133 34 62 50 52 58 1 1 2
    173 41 82 53 52 68 1 2 1
    145 35 67 48 58 60 1 2 2
    153 41 73 52 59 51 1 1 2
    133 30 74 48 50 54 2 2 2

    Ce qui donne ça au format arff :
    @relation test

    @attribute QCS100;FAMA;FAMB;FAMC;FAMD;FAME;IP;CPA;VO {151;46;78;47;52;51;1;1;2,144;37;62;60;43;65;1;1;2,155;41;67;58;59;53;1;1;2,125;28;65;46;44;65;2;1;2,116;34;64;37;43;61;1;2;2,158;45;71;49;51;65;1;1;2,147;37;64;55;47;67;1;1;2,184;41;82;53;60;71;1;1;1,108;33;65;48;44;41;2;2;2,175;44;72;55;56;71;1;2;2,124;30;65;51;46;55;2;2;2,108;34;60;47;39;51;1;2;2,122;32;67;45;46;55;1;1;1,171;42;75;54;60;63;1;1;2,117;30;67;45;33;65;2;2;2,181;52;69;53;55;75;2;2;2,156;41;78;50;46;64;1;2;1,108;30;55;44;48;54;1;2;2,133;34;62;50;52;58;1;1;2,173;41;82;53;52;68;1;2;1,145;35;67;48;58;60;1;2;2,153;41;73;52;59;51;1;1;2,133;30;74;48;50;54;2;2;2}

    @data

    151;46;78;47;52;51;1;1;2
    144;37;62;60;43;65;1;1;2
    155;41;67;58;59;53;1;1;2
    125;28;65;46;44;65;2;1;2
    116;34;64;37;43;61;1;2;2
    158;45;71;49;51;65;1;1;2
    147;37;64;55;47;67;1;1;2
    184;41;82;53;60;71;1;1;1
    108;33;65;48;44;41;2;2;2
    175;44;72;55;56;71;1;2;2
    124;30;65;51;46;55;2;2;2
    108;34;60;47;39;51;1;2;2
    122;32;67;45;46;55;1;1;1
    171;42;75;54;60;63;1;1;2
    117;30;67;45;33;65;2;2;2
    181;52;69;53;55;75;2;2;2
    156;41;78;50;46;64;1;2;1
    108;30;55;44;48;54;1;2;2
    133;34;62;50;52;58;1;1;2
    173;41;82;53;52;68;1;2;1
    145;35;67;48;58;60;1;2;2
    153;41;73;52;59;51;1;1;2
    133;30;74;48;50;54;2;2;2

    Je ne vois pas où se situe l'erreur, comme je ne connais pas du tout ce logiciel
    Est-ce les données qui figurent sous la ligne @attribute ? J'ai un message d'erreur quand je les enlève

  4. #4
    Membre éprouvé Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Points : 1 058
    Points
    1 058
    Par défaut
    C'est plus facile ainsi.

    Il faut une ligne par attribut, donc plusieurs @attribute, chacun sur une ligne.

    Normalement c'est des virgules comme séparateur.

    Vous trouvez dans le répertoire data de weka des exemples de fichiers. Exemple:

    @relation weather

    @attribute outlook {sunny, overcast, rainy}
    @attribute temperature real
    @attribute humidity real
    @attribute windy {TRUE, FALSE}
    @attribute play {yes, no}

    @data
    sunny,85,85,FALSE,no
    sunny,80,90,TRUE,no
    overcast,83,86,FALSE,yes
    rainy,70,96,FALSE,yes
    rainy,68,80,FALSE,yes
    rainy,65,70,TRUE,no
    overcast,64,65,TRUE,yes
    sunny,72,95,FALSE,no
    sunny,69,70,FALSE,yes
    rainy,75,80,FALSE,yes
    sunny,75,70,TRUE,yes
    overcast,72,90,TRUE,yes
    overcast,81,75,FALSE,yes
    rainy,71,91,TRUE,no

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Ok, merci beaucoup, j'ai réussi à ouvrir mes données en modifiant manuellement le fichier...
    Mais normalement, Weka le créé lui-même, ce fichier, non ?
    Je compte analyser un fichier avec 90 variables et 4000 individus, je me vois mal modifier à la main le fichier
    Où est mon erreur ??

  6. #6
    Membre éprouvé Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Points : 1 058
    Points
    1 058
    Par défaut
    Je ne sais pas, si c'est pas les virgules mette des points virgules dans le csv, je fait toujours des arff.

    Passer d'un csv à un arff n'est pas bien compliqué, vous écrivez l'en-tête et ensuite avec un replacez tous vous changez vos espaces en ','. Ça prend quelques secondes.

    PS : regardez bien si vos attributs sont catégoriels ou numériques, parce que là que tout soit catégoriel me semble étrange.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Je ne sais pas pourquoi mes variables ont été codées de cette façon. Quand j'ai créé le fichier à la main, j'ai spécifié "real" pour chaque variable, c'est bien de cette manière qu'on spécifie une variable numérique ?

    Par contre, j'ai tenté de répliquer l'opération sur l'ensemble de mon fichier, après avoir remplacé les valeurs manquantes par des "?". Mais j'ai un message d'erreur : 'File 'Classeur2.arff' not recognised as an arff file. reason : premature end of line, read Token(EOL], line 90'.

    La version avec des virgules me donne aussi un message d'erreur

    Je ne vois pourtant pas ce qu'il y a de différent, si ce n'est le nombre plus important de variables et d'individus

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    J'ai enfin trouvé
    Pour ceux qui auront le même problème que moi (et pour la postérité) :
    Il faut ouvrir le fichier CSV avec un bloc-note et remplacer les point-virgules par des virgules. Ensuite, Weka l'ouvre correctement...
    A utiliser pour les sous-doués avec les macros comme moi

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

Discussions similaires

  1. [MySQL] Update SQL qui ne trouve pas mes variables
    Par Actraiser dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 02/06/2011, 00h26
  2. Free ne lit pas mes variables / probleme de connexion
    Par frisouille12 dans le forum MySQL
    Réponses: 2
    Dernier message: 29/07/2009, 09h32
  3. window.open ne transmet pas mes variables POST
    Par schwarzy2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/06/2008, 16h38
  4. Réponses: 7
    Dernier message: 21/07/2006, 14h51
  5. [JSTL] Mes variables ne sont pas remplacées par leur valeur
    Par thomine dans le forum Taglibs
    Réponses: 9
    Dernier message: 18/03/2005, 10h00

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