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 :

edge attribute used as weight in networkx eigenvector_centrality [Python 2.X]


Sujet :

Python

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Août 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Août 2011
    Messages : 19
    Points : 16
    Points
    16
    Par défaut edge attribute used as weight in networkx eigenvector_centrality
    J'ai créé un network à partir d'un fichier csv en utilisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    adj_mat = np.loadtxt("outputsnet/output.csv",delimiter=',',skiprows=0)
    net = nx.from_numpy_matrix(adj_mat, create_using=nx.DiGraph())
    Et quand je tape:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    w=net.edges(data=True)
    print w
    j'obtiens:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [(51, 92, {'weight': 589.0}), (51, 95, {'weight': 579.0}), (53, 82, {'weight': 644.0}), (56, 83, {'weight': 644.0}), (58, 93, {'weight': 589.0}), (59, 84, {'weight': 644.0}), (62, 96, {'weight': 579.0}), (64, 97, {'weight': 579.0}), (65, 89, {'weight': 599.0}), (65, 98, {'weight': 579.0}), (66, 99, {'weight': 579.0})]
    Mon problème est que lorsque je veux calculer le eigenvector centrality du réseau en écrivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    centrality = nx.eigenvector_centrality(net,weight='weight')
    print(['%s %0.2f'%(node,centrality[node]) for node in centrality])
    j'obtiens tous les poids à 0:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ['64 0.00', '65 0.00', '66 0.00', '99 0.00', '51 0.00', '97 0.00', '96 0.00', '98 0.00', '82 0.00', '83 0.00', '84 0.00', '53 0.00', '56 0.00', '89 0.00', '58 0.00', '59 0.00', '92 0.00', '93 0.00', '62 0.00', '95 0.00']
    Je n'ai pas compris pourquoi les poids que j'ai passés ne sont pas considérés.

    Quelqu'un pourrait-il m'aider la-dessus ?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par marie_87 Voir le message
    Je n'ai pas compris pourquoi les poids que j'ai passés ne sont pas considérés.

    Quelqu'un pourrait-il m'aider la-dessus ?
    Probablement parce qu'il y a peu ou pas de connections entre les différents nœuds.

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

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Août 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Août 2011
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Bonjour wiztricks, Merci pour votre réponse.
    C'est ce que je ne comprends pas, car quand je tape:
    j'obtiens la liste de tous mes noeuds
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [51,
     53,
     56,
     58,
     59,
     62,
     64,
     65,
     66,
     82,
     83,
     84,
     89,
     92,
     93,
     95,
     96,
     97,
     98,
     99]
    et quand je veux afficher la liste des liens, ils sont bien là :
    j'ai ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [(51, 92),
     (51, 95),
     (53, 82),
     (56, 83),
     (58, 93),
     (59, 84),
     (62, 96),
     (64, 97),
     (65, 89),
     (65, 98),
     (66, 99)]
    Il y a détail qui serait peut être intéressant au départ, même si je pense qu'une fois le fichier chargé le réseau est c'est bon: Il s'agit de mon fichier, c'est un fichier contenant des 0 et des valeurs de poids aux indices i,j et donc à la ligne i et à la colonne j on a le poids comme contenu de la cellule. Mais comme je l'ai dit précédemment, j'arrive à avoir mon réseau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [(51, 92, {'weight': 589.0}), (51, 95, {'weight': 579.0}), (53, 82, {'weight': 644.0}), (56, 83, {'weight': 644.0}), (58, 93, {'weight': 589.0}), (59, 84, {'weight': 644.0}), (62, 96, {'weight': 579.0}), (64, 97, {'weight': 579.0}), (65, 89, {'weight': 599.0}), (65, 98, {'weight': 579.0}), (66, 99, {'weight': 579.0})]

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    J'avais vu que vous avez une liste de nœuds et de edges non vides. Ce que je vous dis c'est que vos noeuds sont loin d'être reliés entre eux: votre graphe est composé de nombreux graphes disjoints.... et pour parler de centralité d'un nœud, il faut quand même qu'il y ait des chemins/edges qui permettent d'y accéder.

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

  5. #5
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Août 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Août 2011
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Ah oui c'est vrai, je n'avais pas remarqué ça.
    Merci beaucoup pour votre aide

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

Discussions similaires

  1. Attribute "rel" exists, but can not be used for this element
    Par pasc06 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 27/02/2010, 11h36
  2. wsdl2java ne gere pas use="optional" pour un attribut ?
    Par somnix dans le forum Services Web
    Réponses: 1
    Dernier message: 03/12/2009, 21h44

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