Domanda

Scusa la mia ignoranza, sono molto nuovo a Python.Sto cercando di eseguire analisi del fattore in Python usando il MDP (anche se posso usare un'altra libreria se c'è una soluzione migliore).

Ho un m di N Matrix (chiamato Matrix) e ho provato a fare:

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

Ma recupisco un errore.Immagino forse la mia matrice non è formata correttamente?Il mio obiettivo è scoprire quanti componenti sono nei dati e scopri quali righe vengono caricate su quali componenti.

Ecco la traceback:

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'
.

Qualcuno ha idea di cosa sta succedendo, e hai voglia di spiegarlo a un Python Newbie?

È stato utile?

Soluzione

Non ho assolutamente alcuna esperienza con il MDP, ma sembra che si aspetta che le tue matrici vengano trasmesse come un array antimatico invece di una lista.Numpy è un pacchetto per un calcolo scientifico ad alte prestazioni.Puoi andare al Numpy home page e installalo.Dopo averlo fatto, prova alterare il tuo codice a questo:

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

Altri suggerimenti

AS Stephen ha detto, i dati devono essere un array ninpy.Più precisamente deve essere un array 2D, con il primo indice che rappresenta i diversi sampes e il secondo indice che rappresenta le dimensioni dei dati (utilizzando l'ordine sbagliato qui può portare all'errore "singolare matrice").

Dovresti anche dare un'occhiata al Documentazione MDP , che dovrebbe rispondere a tutti i tuoidomande.Se ciò non è utile, è la mailing list dell'utente MDP.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top