Question

Excusez mon ignorance, je suis très nouveau à Python.J'essaie d'effectuer une analyse factorielle dans Python à l'aide de MDP (bien que je puisse utiliser une autre bibliothèque s'il y a une meilleure solution).

J'ai une m de n matrice (appelée matrix) et j'ai essayé de faire:

import mdp
mdp.nodes.FANode()(matrix)

Mais je récupère une erreur.Je suppose que ma matrice n'est peut-être pas formée correctement?Mon objectif est de savoir combien de composants sont dans les données et découvrez quelles lignes se chargent sur les composants.

Voici la trace:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "mdp/signal_node.py", line 630, in __call__
    return self.execute(x, *args, **kwargs)
  File "mdp/signal_node.py", line 611, in execute
    self._pre_execution_checks(x)
  File "mdp/signal_node.py", line 480, in _pre_execution_checks
    self.train(x)
  File "mdp/signal_node.py", line 571, in train
    self._check_input(x)
  File "mdp/signal_node.py", line 429, in _check_input
    if not x.ndim == 2:
AttributeError: 'list' object has no attribute 'ndim'

Quelqu'un a-t-il une idée de ce qui se passe et a envie de l'expliquer à un débutant python?

Était-ce utile?

La solution

Je n'ai absolument aucune expérience avec le MDP, mais on dirait que vos matrices sont transmises comme une matrice numpue au lieu d'une liste.NUMPY est un paquet pour l'informatique scientifique haute performance.Vous pouvez accéder à Numpy page d'accueil et installez-le.Après cela, essayez de modifier votre code à ceci:

import mdp, numpy
mdp.nodes.FANode()(numpy.array(matrix))

Autres conseils

Comme Stephen dit, les données doivent être une matrice numpue.Plus précisément, il doit s'agir d'un tableau 2D, avec le premier index représentant les différents sampes et le deuxième index représentant les dimensions de données (à l'aide du mauvais ordre ici, peut conduire à l'erreur "matrice singulière").

Vous devez également consulter le Documentation MDP , qui devrait répondre à tout votredes questions.Si cela ne vous aide pas, la liste de diffusion d'utilisateurs MDP est la liste d'envoi de MDP.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top